1 /*
2 * Copyright 2010 James Pether Sörling
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 * $Id$
17 * $HeadURL$
18 */
19 package com.hack23.cia.service.external.esv.api;
20
21 import java.util.List;
22 import java.util.Map;
23
24 /**
25 * The Interface EsvApi.
26 */
27 public interface EsvApi {
28
29 /**
30 * Gets the data.
31 *
32 * @return the data
33 */
34 Map<Integer, List<GovernmentBodyAnnualSummary>> getData();
35
36 /**
37 * Gets the data per ministry.
38 *
39 * @param name
40 * the name
41 * @return the data per ministry
42 */
43 Map<Integer, List<GovernmentBodyAnnualSummary>> getDataPerMinistry(String name);
44
45 /**
46 * Gets the data per government body.
47 *
48 * @param name
49 * the name
50 * @return the data per government body
51 */
52 Map<Integer, GovernmentBodyAnnualSummary> getDataPerGovernmentBody(String name);
53
54 /**
55 * Gets the data per ministry and year.
56 *
57 * @param name
58 * the name
59 * @param year
60 * the year
61 * @return the data per ministry and year
62 */
63 List<GovernmentBodyAnnualSummary> getDataPerMinistryAndYear(String name, int year);
64
65 /**
66 * Gets the government body names.
67 *
68 * @return the government body names
69 */
70 List<String> getGovernmentBodyNames();
71
72 /**
73 * Gets the government body names.
74 *
75 * @param ministry
76 * the ministry
77 * @return the government body names
78 */
79 List<String> getGovernmentBodyNames(String ministry);
80
81
82 /**
83 * Gets the ministry names.
84 *
85 * @return the ministry names
86 */
87 List<String> getMinistryNames();
88
89 }