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