1 /*
2 * Copyright 2014 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.web.impl.ui.application.views.common.pagelinks.api;
20
21 import com.hack23.cia.model.external.riksdagen.person.impl.PersonData;
22 import com.hack23.cia.model.internal.application.data.committee.impl.ViewRiksdagenCommittee;
23 import com.hack23.cia.model.internal.application.data.ministry.impl.ViewRiksdagenMinistry;
24 import com.hack23.cia.model.internal.application.data.party.impl.ViewRiksdagenParty;
25 import com.vaadin.ui.Link;
26
27 /**
28 * A factory for creating PageLink objects.
29 */
30 public interface PageLinkFactory {
31
32 /**
33 * Creates a new PageLink object.
34 *
35 * @return the link
36 */
37 Link createMainViewPageLink();
38
39 /**
40 * Creates a new PageLink object.
41 *
42 * @return the link
43 */
44 Link createUserHomeViewPageLink();
45
46 /**
47 * Creates a new PageLink object.
48 *
49 * @return the link
50 */
51 Link createMinistryRankingViewPageLink();
52
53 /**
54 * Creates a new PageLink object.
55 *
56 * @return the link
57 */
58 Link createCommitteeRankingViewPageLink();
59
60 /**
61 * Creates a new PageLink object.
62 *
63 * @return the link
64 */
65 Link createPartyRankingViewPageLink();
66
67 /**
68 * Creates a new PageLink object.
69 *
70 * @return the link
71 */
72 Link createPoliticianRankingViewPageLink();
73
74 /**
75 * Creates a new PageLink object.
76 *
77 * @return the link
78 */
79 Link createAdminDataSummaryViewPageLink();
80
81 /**
82 * Creates a new PageLink object.
83 *
84 * @return the link
85 */
86 Link createAdminAgentOperationViewPageLink();
87
88 /**
89 * Adds the committee page link.
90 *
91 * @param data
92 * the data
93 * @return the link
94 */
95 Link addCommitteePageLink(ViewRiksdagenCommittee data);
96
97 /**
98 * Adds the ministry page link.
99 *
100 * @param data
101 * the data
102 * @return the link
103 */
104 Link addMinistryPageLink(ViewRiksdagenMinistry data);
105
106 /**
107 * Adds the party page link.
108 *
109 * @param data
110 * the data
111 * @return the link
112 */
113 Link addPartyPageLink(ViewRiksdagenParty data);
114
115 /**
116 * Creates a new PageLink object.
117 *
118 * @param label
119 * the label
120 * @param page
121 * the page
122 * @param pageId
123 * the page id
124 * @param pageNr
125 * the page nr
126 * @return the link
127 */
128 Link createAdminPagingLink(String label,String page,String pageId,String pageNr);
129
130 /**
131 * Creates a new PageLink object.
132 *
133 * @param personData
134 * the person data
135 * @return the link
136 */
137 Link createPoliticianPageLink(PersonData personData);
138
139 /**
140 * Creates a new PageLink object.
141 *
142 * @return the link
143 */
144 Link createSearchDocumentViewPageLink();
145
146 /**
147 * Creates a new PageLink object.
148 *
149 * @return the link
150 */
151 Link createRegisterPageLink();
152
153 /**
154 * Creates a new PageLink object.
155 *
156 * @return the link
157 */
158 Link createLoginPageLink();
159
160 /**
161 * Creates a new PageLink object.
162 *
163 * @return the link
164 */
165 Link createCountryRankingViewPageLink();
166
167 /**
168 * Creates a new PageLink object.
169 *
170 * @return the link
171 */
172 Link createParliamentViewPageLink();
173
174 }