View Javadoc
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 }