merge cdmlib-service from validation branch to trunk
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / application / ICdmApplicationConfiguration.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.cdm.api.application;
12
13 import org.springframework.security.authentication.ProviderManager;
14 import org.springframework.transaction.PlatformTransactionManager;
15 import org.springframework.transaction.TransactionStatus;
16
17 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
18 import eu.etaxonomy.cdm.api.service.IAgentService;
19 import eu.etaxonomy.cdm.api.service.IClassificationService;
20 import eu.etaxonomy.cdm.api.service.ICollectionService;
21 import eu.etaxonomy.cdm.api.service.ICommonService;
22 import eu.etaxonomy.cdm.api.service.IDatabaseService;
23 import eu.etaxonomy.cdm.api.service.IDescriptionService;
24 import eu.etaxonomy.cdm.api.service.IEntityConstraintViolationService;
25 import eu.etaxonomy.cdm.api.service.IEntityValidationResultService;
26 import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
27 import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
28 import eu.etaxonomy.cdm.api.service.IGrantedAuthorityService;
29 import eu.etaxonomy.cdm.api.service.IGroupService;
30 import eu.etaxonomy.cdm.api.service.IIdentificationKeyService;
31 import eu.etaxonomy.cdm.api.service.ILocationService;
32 import eu.etaxonomy.cdm.api.service.IMediaService;
33 import eu.etaxonomy.cdm.api.service.INameService;
34 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
35 import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService;
36 import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
37 import eu.etaxonomy.cdm.api.service.IReferenceService;
38 import eu.etaxonomy.cdm.api.service.IService;
39 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
40 import eu.etaxonomy.cdm.api.service.ITaxonService;
41 import eu.etaxonomy.cdm.api.service.ITermService;
42 import eu.etaxonomy.cdm.api.service.IUserService;
43 import eu.etaxonomy.cdm.api.service.IVocabularyService;
44 import eu.etaxonomy.cdm.api.service.IWorkingSetService;
45 import eu.etaxonomy.cdm.api.service.molecular.IAmplificationService;
46 import eu.etaxonomy.cdm.api.service.molecular.IPrimerService;
47 import eu.etaxonomy.cdm.api.service.molecular.ISequenceService;
48 import eu.etaxonomy.cdm.model.common.CdmBase;
49 import eu.etaxonomy.cdm.persistence.hibernate.permission.CdmPermissionEvaluator;
50 import eu.etaxonomy.cdm.persistence.hibernate.permission.ICdmPermissionEvaluator;
51
52 /**
53 * @author a.mueller
54 * @created 21.05.2008
55 */
56 public interface ICdmApplicationConfiguration {
57
58 public TransactionStatus startTransaction();
59
60
61 public TransactionStatus startTransaction(Boolean readOnly);
62
63
64 public void commitTransaction(TransactionStatus tx);
65
66
67 public Object getBean(String string);
68
69
70 /**
71 * @return
72 */
73 public INameService getNameService();
74
75
76 /**
77 * @return
78 */
79 public ITaxonService getTaxonService();
80
81
82 /**
83 * @return
84 */
85 public IClassificationService getClassificationService();
86
87
88 /**
89 *
90 * @return
91 */
92 public ITaxonNodeService getTaxonNodeService();
93
94
95 /**
96 * @return
97 */
98 public IReferenceService getReferenceService();
99
100
101 /**
102 * @return
103 */
104 public IAgentService getAgentService();
105
106
107 /**
108 * @return
109 */
110 public IDescriptionService getDescriptionService();
111
112
113 /**
114 * @return
115 */
116 public IOccurrenceService getOccurrenceService();
117
118
119 /**
120 * @return
121 */
122 public IPrimerService getPrimerService();
123
124
125 /**
126 * @return
127 */
128 public IAmplificationService getAmplificationService();
129
130
131 /**
132 * @return
133 */
134 public ISequenceService getSequenceService();
135
136
137 /**
138 * @return
139 */
140 public IMediaService getMediaService();
141
142
143 /**
144 * @return
145 */
146 public IDatabaseService getDatabaseService();
147
148
149 /**
150 * @return
151 */
152 public ITermService getTermService();
153
154
155 /**
156 * @return
157 */
158 public ICommonService getCommonService();
159
160
161 /**
162 *
163 * @return
164 */
165 public ILocationService getLocationService();
166
167
168 /**
169 *
170 * @return
171 */
172 public IUserService getUserService();
173
174
175 /**
176 *
177 * @return
178 */
179 public IGroupService getGroupService();
180
181
182 /**
183 *
184 * @return
185 */
186 public IGrantedAuthorityService getGrantedAuthorityService();
187
188
189 /**
190 * @return
191 */
192 public IService<CdmBase> getMainService();
193
194
195 /**
196 * @return
197 */
198 public IWorkingSetService getWorkingSetService();
199
200
201 /**
202 * @return
203 */
204 public PlatformTransactionManager getTransactionManager();
205
206
207 /**
208 *
209 * @return
210 */
211 public ProviderManager getAuthenticationManager();
212
213
214 /**
215 * @return
216 */
217 public ConversationHolder NewConversation();
218
219
220 /**
221 *
222 * @return
223 */
224 public ICollectionService getCollectionService();
225
226
227 /**
228 *
229 * @return
230 */
231 public IFeatureTreeService getFeatureTreeService();
232
233
234 /**
235 *
236 * @return
237 */
238 public IFeatureNodeService getFeatureNodeService();
239
240
241 /**
242 *
243 * @return
244 */
245 public IVocabularyService getVocabularyService();
246
247
248 /**
249 * @return
250 */
251 public IIdentificationKeyService getIdentificationKeyService();
252
253
254 /**
255 * @return
256 */
257 public IPolytomousKeyService getPolytomousKeyService();
258
259
260 /**
261 * @return
262 */
263 public IPolytomousKeyNodeService getPolytomousKeyNodeService();
264
265
266 /**
267 * @return
268 */
269 public IEntityValidationResultService getEntityValidationResultService();
270
271
272 /**
273 * @return
274 */
275 public IEntityConstraintViolationService getEntityConstraintViolationService();
276
277
278 /**
279 * @return the configured PermissionEvaluator, usually the
280 * {@link CdmPermissionEvaluator}
281 */
282 public ICdmPermissionEvaluator getPermissionEvaluator();
283
284
285 void authenticate(String username, String password);
286
287 }