- added IAmplificationService and ISequenceService
[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.IAmplificationService;
20 import eu.etaxonomy.cdm.api.service.IClassificationService;
21 import eu.etaxonomy.cdm.api.service.ICollectionService;
22 import eu.etaxonomy.cdm.api.service.ICommonService;
23 import eu.etaxonomy.cdm.api.service.IDatabaseService;
24 import eu.etaxonomy.cdm.api.service.IDescriptionService;
25 import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
26 import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
27 import eu.etaxonomy.cdm.api.service.IGrantedAuthorityService;
28 import eu.etaxonomy.cdm.api.service.IGroupService;
29 import eu.etaxonomy.cdm.api.service.IIdentificationKeyService;
30 import eu.etaxonomy.cdm.api.service.ILocationService;
31 import eu.etaxonomy.cdm.api.service.IMediaService;
32 import eu.etaxonomy.cdm.api.service.INameService;
33 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
34 import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService;
35 import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
36 import eu.etaxonomy.cdm.api.service.IPrimerService;
37 import eu.etaxonomy.cdm.api.service.IReferenceService;
38 import eu.etaxonomy.cdm.api.service.ISequenceService;
39 import eu.etaxonomy.cdm.api.service.IService;
40 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
41 import eu.etaxonomy.cdm.api.service.ITaxonService;
42 import eu.etaxonomy.cdm.api.service.ITermService;
43 import eu.etaxonomy.cdm.api.service.IUserService;
44 import eu.etaxonomy.cdm.api.service.IVocabularyService;
45 import eu.etaxonomy.cdm.api.service.IWorkingSetService;
46 import eu.etaxonomy.cdm.model.common.CdmBase;
47 import eu.etaxonomy.cdm.persistence.hibernate.permission.CdmPermissionEvaluator;
48 import eu.etaxonomy.cdm.persistence.hibernate.permission.ICdmPermissionEvaluator;
49
50 /**
51 * @author a.mueller
52 * @created 21.05.2008
53 */
54 public interface ICdmApplicationConfiguration {
55
56 public TransactionStatus startTransaction();
57
58 public TransactionStatus startTransaction(Boolean readOnly);
59
60 public void commitTransaction(TransactionStatus tx);
61
62 public Object getBean(String string);
63
64
65
66 /**
67 * @return
68 */
69 public INameService getNameService();
70
71 /**
72 * @return
73 */
74 public ITaxonService getTaxonService();
75
76 /**
77 * @return
78 */
79 public IClassificationService getClassificationService();
80
81 /**
82 *
83 * @return
84 */
85 public ITaxonNodeService getTaxonNodeService();
86
87 /**
88 * @return
89 */
90 public IReferenceService getReferenceService();
91
92 /**
93 * @return
94 */
95 public IAgentService getAgentService();
96
97 /**
98 * @return
99 */
100 public IDescriptionService getDescriptionService();
101
102 /**
103 * @return
104 */
105 public IOccurrenceService getOccurrenceService();
106
107 /**
108 * @return
109 */
110 public IPrimerService getPrimerService();
111
112 /**
113 * @return
114 */
115 public IAmplificationService getAmplificationService();
116
117 /**
118 * @return
119 */
120 public ISequenceService getSequenceService();
121
122 /**
123 * @return
124 */
125 public IMediaService getMediaService();
126
127 /**
128 * @return
129 */
130 public IDatabaseService getDatabaseService();
131
132 /**
133 * @return
134 */
135 public ITermService getTermService();
136
137 /**
138 * @return
139 */
140 public ICommonService getCommonService();
141
142 /**
143 *
144 * @return
145 */
146 public ILocationService getLocationService();
147
148 /**
149 *
150 * @return
151 */
152 public IUserService getUserService();
153
154
155 /**
156 *
157 * @return
158 */
159 public IGroupService getGroupService();
160
161 /**
162 *
163 * @return
164 */
165 public IGrantedAuthorityService getGrantedAuthorityService();
166
167 /**
168 * @return
169 */
170 public IService<CdmBase> getMainService();
171
172
173 /**
174 * @return
175 */
176 public IWorkingSetService getWorkingSetService();
177
178 /**
179 * @return
180 */
181 public PlatformTransactionManager getTransactionManager();
182
183
184 /**
185 *
186 * @return
187 */
188 public ProviderManager getAuthenticationManager();
189
190 /**
191 * @return
192 */
193 public ConversationHolder NewConversation();
194
195 /**
196 *
197 * @return
198 */
199 public ICollectionService getCollectionService();
200
201 /**
202 *
203 * @return
204 */
205 public IFeatureTreeService getFeatureTreeService();
206
207 /**
208 *
209 * @return
210 */
211 public IFeatureNodeService getFeatureNodeService();
212
213 /**
214 *
215 * @return
216 */
217 public IVocabularyService getVocabularyService();
218
219 /**
220 * @return
221 */
222 public IIdentificationKeyService getIdentificationKeyService();
223
224 /**
225 * @return
226 */
227 public IPolytomousKeyService getPolytomousKeyService();
228
229 /**
230 * @return
231 */
232 public IPolytomousKeyNodeService getPolytomousKeyNodeService();
233
234 /**
235 * @return the configured PermissionEvaluator, usually the {@link CdmPermissionEvaluator}
236 */
237 public ICdmPermissionEvaluator getPermissionEvaluator();
238
239 void authenticate(String username, String password);
240
241
242
243 }