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