Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
IdentityService |
|
| 1.0;1 |
1 | /** | |
2 | * Copyright 2005-2011 The Kuali Foundation | |
3 | * | |
4 | * Licensed under the Educational Community 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.opensource.org/licenses/ecl2.php | |
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 | package org.kuali.rice.kim.api.identity; | |
17 | ||
18 | import org.kuali.rice.core.api.criteria.QueryByCriteria; | |
19 | import org.kuali.rice.core.api.exception.RiceIllegalArgumentException; | |
20 | import org.kuali.rice.core.api.exception.RiceIllegalStateException; | |
21 | import org.kuali.rice.kim.api.KimConstants; | |
22 | import org.kuali.rice.kim.api.identity.address.EntityAddress; | |
23 | import org.kuali.rice.kim.api.identity.affiliation.EntityAffiliation; | |
24 | import org.kuali.rice.kim.api.identity.affiliation.EntityAffiliationType; | |
25 | import org.kuali.rice.kim.api.identity.citizenship.EntityCitizenship; | |
26 | import org.kuali.rice.kim.api.identity.email.EntityEmail; | |
27 | import org.kuali.rice.kim.api.identity.employment.EntityEmployment; | |
28 | import org.kuali.rice.kim.api.identity.entity.Entity; | |
29 | import org.kuali.rice.kim.api.identity.entity.EntityDefault; | |
30 | import org.kuali.rice.kim.api.identity.entity.EntityDefaultQueryResults; | |
31 | import org.kuali.rice.kim.api.identity.entity.EntityQueryResults; | |
32 | import org.kuali.rice.kim.api.identity.external.EntityExternalIdentifier; | |
33 | import org.kuali.rice.kim.api.identity.external.EntityExternalIdentifierType; | |
34 | import org.kuali.rice.kim.api.identity.name.EntityName; | |
35 | import org.kuali.rice.kim.api.identity.name.StringToKimEntityNameInfoMapAdapter; | |
36 | import org.kuali.rice.kim.api.identity.personal.EntityBioDemographics; | |
37 | import org.kuali.rice.kim.api.identity.personal.EntityEthnicity; | |
38 | import org.kuali.rice.kim.api.identity.phone.EntityPhone; | |
39 | import org.kuali.rice.kim.api.identity.principal.EntityNamePrincipalName; | |
40 | import org.kuali.rice.kim.api.identity.principal.Principal; | |
41 | import org.kuali.rice.kim.api.identity.principal.StringToKimEntityNamePrincipalInfoMapAdapter; | |
42 | import org.kuali.rice.kim.api.identity.privacy.EntityPrivacyPreferences; | |
43 | import org.kuali.rice.kim.api.identity.residency.EntityResidency; | |
44 | import org.kuali.rice.kim.api.identity.type.EntityTypeContactInfo; | |
45 | import org.kuali.rice.kim.api.identity.visa.EntityVisa; | |
46 | import org.springframework.cache.annotation.CacheEvict; | |
47 | import org.springframework.cache.annotation.Cacheable; | |
48 | ||
49 | import javax.jws.WebMethod; | |
50 | import javax.jws.WebParam; | |
51 | import javax.jws.WebResult; | |
52 | import javax.jws.WebService; | |
53 | import javax.jws.soap.SOAPBinding; | |
54 | import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | |
55 | import java.util.List; | |
56 | import java.util.Map; | |
57 | ||
58 | /** | |
59 | * This service provides operations to query for principal and identity data. | |
60 | * | |
61 | * <p>A principal represents an identity that can authenticate. In essence, a principal can be | |
62 | * thought of as an "account" or as an identity's authentication credentials. A principal has | |
63 | * an id which is used to uniquely identify it. It also has a name which represents the | |
64 | * principal's username and is typically what is entered when authenticating. All principals | |
65 | * are associated with one and only one identity. | |
66 | * | |
67 | * <p>An identity represents a person or system. Additionally, other "types" of entities can | |
68 | * be defined in KIM. Information like name, phone number, etc. is associated with an identity. | |
69 | * It is the representation of a concrete person or system. While an identity will typically | |
70 | * have a single principal associated with it, it is possible for an identity to have more than | |
71 | * one principal or even no principals at all (in the case where the identity does not actually | |
72 | * authenticate). | |
73 | * | |
74 | * <p>This service also provides operations for querying various pieces of reference data, such as | |
75 | * address types, affiliation types, phone types, etc. | |
76 | * | |
77 | * | |
78 | * @author Kuali Rice Team (rice.collab@kuali.org) | |
79 | * | |
80 | */ | |
81 | @WebService(name = "identityService", targetNamespace = KimConstants.Namespaces.KIM_NAMESPACE_2_0) | |
82 | @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) | |
83 | public interface IdentityService { | |
84 | ||
85 | /** | |
86 | * This method finds EntityDefault data based on a query criteria. The criteria cannot be null. | |
87 | * | |
88 | * @param query the criteria. Cannot be null. | |
89 | * @return query results. will never return null. | |
90 | * @throws IllegalArgumentException if the queryByCriteria is null | |
91 | */ | |
92 | @WebMethod(operationName = "findEntityDefaults") | |
93 | @WebResult(name = "results") | |
94 | EntityDefaultQueryResults findEntityDefaults(@WebParam(name = "query") QueryByCriteria query) throws RiceIllegalArgumentException; | |
95 | ||
96 | /** | |
97 | * This method finds Entities based on a query criteria. The criteria cannot be null. | |
98 | * | |
99 | * @param query the criteria. Cannot be null. | |
100 | * @return query results. will never return null. | |
101 | * @throws IllegalArgumentException if the queryByCriteria is null | |
102 | */ | |
103 | @WebMethod(operationName = "findEntities") | |
104 | @WebResult(name = "results") | |
105 | EntityQueryResults findEntities(@WebParam(name = "query") QueryByCriteria query) throws RiceIllegalArgumentException; | |
106 | ||
107 | ||
108 | /** | |
109 | * Gets a {@link org.kuali.rice.kim.api.identity.entity.Entity} from an id. | |
110 | * | |
111 | * <p> | |
112 | * This method will return null if the Entity does not exist. | |
113 | * </p> | |
114 | * | |
115 | * @param id the unique id to retrieve the entity by. cannot be null. | |
116 | * @return a {@link org.kuali.rice.kim.api.identity.entity.Entity} or null | |
117 | * @throws IllegalArgumentException if the id is blank | |
118 | */ | |
119 | @WebMethod(operationName = "getEntity") | |
120 | @WebResult(name = "entity") | |
121 | @Cacheable(value= Entity.Cache.NAME, key="'id=' + #p0") | |
122 | Entity getEntity( @WebParam(name="id") String id ) throws RiceIllegalArgumentException; | |
123 | ||
124 | /** | |
125 | * Gets a {@link org.kuali.rice.kim.api.identity.entity.Entity} from a principalId. | |
126 | * | |
127 | * <p> | |
128 | * This method will return null if the Entity does not exist. | |
129 | * </p> | |
130 | * | |
131 | * @param principalId the unique id to retrieve the entity by. cannot be null. | |
132 | * @return a {@link org.kuali.rice.kim.api.identity.entity.Entity} or null | |
133 | * @throws IllegalArgumentException if the principalId is blank | |
134 | */ | |
135 | @WebMethod(operationName = "getEntityByPrincipalId") | |
136 | @WebResult(name = "entity") | |
137 | @Cacheable(value= Entity.Cache.NAME, key="'principalId=' + #p0") | |
138 | Entity getEntityByPrincipalId(@WebParam(name = "principalId") String principalId) throws RiceIllegalArgumentException; | |
139 | ||
140 | /** | |
141 | * Gets a {@link org.kuali.rice.kim.api.identity.entity.Entity} from a principalName. | |
142 | * | |
143 | * <p> | |
144 | * This method will return null if the Entity does not exist. | |
145 | * </p> | |
146 | * | |
147 | * @param principalName the unique id to retrieve the entity by. cannot be null. | |
148 | * @return a {@link org.kuali.rice.kim.api.identity.entity.Entity} or null | |
149 | * @throws IllegalArgumentException if the id is blank | |
150 | */ | |
151 | @WebMethod(operationName = "getEntityByPrincipalName") | |
152 | @WebResult(name = "entity") | |
153 | @Cacheable(value= Entity.Cache.NAME, key="'principalName=' + #p0") | |
154 | Entity getEntityByPrincipalName(@WebParam(name = "principalName") String principalName) throws RiceIllegalArgumentException; | |
155 | ||
156 | ||
157 | /** | |
158 | * This will create a {@link org.kuali.rice.kim.api.identity.entity.Entity} exactly like the entity passed in. | |
159 | * | |
160 | * @param entity the entity to create | |
161 | * @return the newly created Entity object. | |
162 | * @throws IllegalArgumentException if the entity is null | |
163 | * @throws IllegalStateException if the entity already exists in the system | |
164 | */ | |
165 | @WebMethod(operationName="createEntity") | |
166 | @WebResult(name = "entity") | |
167 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
168 | Entity createEntity(@WebParam(name = "entity") Entity entity) | |
169 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
170 | ||
171 | /** | |
172 | * This will update a {@link org.kuali.rice.kim.api.identity.entity.Entity}. | |
173 | * | |
174 | * @param entity the entity to update | |
175 | * @return the updated Entity object. | |
176 | * @throws IllegalArgumentException if the entity is null | |
177 | * @throws IllegalStateException if the entity does not already exist in the system | |
178 | */ | |
179 | @WebMethod(operationName="updateEntity") | |
180 | @WebResult(name = "entity") | |
181 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
182 | Entity updateEntity(@WebParam(name = "entity") Entity entity) | |
183 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
184 | ||
185 | /** | |
186 | * This will inactivate a {@link org.kuali.rice.kim.api.identity.entity.Entity}. | |
187 | * | |
188 | * @param id the unique id of the entity to inactivate | |
189 | * @return the inactivated Entity object. | |
190 | * @throws IllegalArgumentException if the entity is null | |
191 | * @throws IllegalStateException if the entity does not already exist in the system | |
192 | */ | |
193 | @WebMethod(operationName="inactivateEntity") | |
194 | @WebResult(name = "entity") | |
195 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
196 | Entity inactivateEntity(@WebParam(name = "id") String id) | |
197 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
198 | ||
199 | ||
200 | ||
201 | /** | |
202 | * Gets a {@link org.kuali.rice.kim.api.identity.entity.EntityDefault} from an id. | |
203 | * {@link org.kuali.rice.kim.api.identity.entity.EntityDefault} is a condensed version of {@link org.kuali.rice.kim.api.identity.entity.Entity} that contains | |
204 | * default values of its subclasses | |
205 | * | |
206 | * <p> | |
207 | * This method will return null if the Entity does not exist. | |
208 | * </p> | |
209 | * | |
210 | * @param id the unique id to retrieve the entity by. cannot be null. | |
211 | * @return a {@link org.kuali.rice.kim.api.identity.entity.EntityDefault} or null | |
212 | * @throws IllegalArgumentException if the id is blank | |
213 | */ | |
214 | @WebMethod(operationName = "getEntityDefault") | |
215 | @WebResult(name = "entityDefault") | |
216 | @Cacheable(value= EntityDefault.Cache.NAME, key="'id=' + #p0") | |
217 | EntityDefault getEntityDefault(@WebParam(name = "id") String id) throws RiceIllegalArgumentException; | |
218 | ||
219 | /** | |
220 | * Gets a {@link org.kuali.rice.kim.api.identity.entity.EntityDefault} from an principalId. | |
221 | * {@link org.kuali.rice.kim.api.identity.entity.EntityDefault} is a condensed version of {@link org.kuali.rice.kim.api.identity.entity.Entity} that contains | |
222 | * default values of its subclasses | |
223 | * | |
224 | * <p> | |
225 | * This method will return null if the Entity does not exist. | |
226 | * </p> | |
227 | * | |
228 | * @param principalId the unique id to retrieve the entity by. cannot be null. | |
229 | * @return a {@link org.kuali.rice.kim.api.identity.entity.EntityDefault} or null | |
230 | * @throws IllegalArgumentException if the principalId is blank | |
231 | */ | |
232 | @WebMethod(operationName = "getEntityDefaultByPrincipalId") | |
233 | @WebResult(name = "entityDefault") | |
234 | @Cacheable(value= EntityDefault.Cache.NAME, key="'principalId=' + #p0") | |
235 | EntityDefault getEntityDefaultByPrincipalId(@WebParam(name = "principalId") String principalId) throws RiceIllegalArgumentException; | |
236 | ||
237 | /** | |
238 | * Gets a {@link org.kuali.rice.kim.api.identity.entity.EntityDefault} from an principalName. | |
239 | * {@link org.kuali.rice.kim.api.identity.entity.EntityDefault} is a condensed version of {@link org.kuali.rice.kim.api.identity.entity.Entity} that contains | |
240 | * default values of its subclasses | |
241 | * | |
242 | * <p> | |
243 | * This method will return null if the Entity does not exist. | |
244 | * </p> | |
245 | * | |
246 | * @param principalName the unique id to retrieve the entity by. cannot be null. | |
247 | * @return a {@link org.kuali.rice.kim.api.identity.entity.EntityDefault} or null | |
248 | * @throws IllegalArgumentException if the principalId is blank | |
249 | */ | |
250 | @WebMethod(operationName = "getEntityDefaultByPrincipalName") | |
251 | @WebResult(name = "entityDefault") | |
252 | @Cacheable(value= EntityDefault.Cache.NAME, key="'principalName=' + #p0") | |
253 | EntityDefault getEntityDefaultByPrincipalName(@WebParam(name = "principalName") String principalName) throws RiceIllegalArgumentException; | |
254 | ||
255 | ||
256 | ||
257 | /** | |
258 | * Gets a {@link org.kuali.rice.kim.api.identity.principal.Principal} from an principalId. | |
259 | * | |
260 | * <p> | |
261 | * This method will return null if the Principal does not exist. | |
262 | * </p> | |
263 | * | |
264 | * @param principalId the unique id to retrieve the principal by. cannot be null. | |
265 | * @return a {@link org.kuali.rice.kim.api.identity.principal.Principal} or null | |
266 | * @throws IllegalArgumentException if the principalId is blank | |
267 | */ | |
268 | @WebMethod(operationName = "getPrincipal") | |
269 | @WebResult(name = "principal") | |
270 | @Cacheable(value= Principal.Cache.NAME, key="'principalId=' + #p0") | |
271 | Principal getPrincipal( @WebParam(name="principalId") String principalId ) throws RiceIllegalArgumentException; | |
272 | ||
273 | /** | |
274 | * Gets a {@link org.kuali.rice.kim.api.identity.principal.Principal} from an principalName. | |
275 | * | |
276 | * <p> | |
277 | * This method will return null if the Principal does not exist. | |
278 | * </p> | |
279 | * | |
280 | * @param principalName the unique id to retrieve the principal by. cannot be null. | |
281 | * @return a {@link org.kuali.rice.kim.api.identity.principal.Principal} or null | |
282 | * @throws IllegalArgumentException if the principalId is blank | |
283 | */ | |
284 | @WebMethod(operationName = "getPrincipalByPrincipalName") | |
285 | @WebResult(name = "principal") | |
286 | @Cacheable(value= Principal.Cache.NAME, key="'principalName=' + #p0") | |
287 | Principal getPrincipalByPrincipalName( @WebParam(name="principalName") String principalName ) throws RiceIllegalArgumentException; | |
288 | ||
289 | /** | |
290 | * Gets a {@link org.kuali.rice.kim.api.identity.principal.Principal} from an principalName and password. | |
291 | * | |
292 | * <p> | |
293 | * This method will return null if the Principal does not exist or the password is incorrect. | |
294 | * </p> | |
295 | * | |
296 | * @param principalName the unique id to retrieve the principal by. cannot be null. | |
297 | * @param password the password for the principal | |
298 | * @return a {@link org.kuali.rice.kim.api.identity.principal.Principal} or null | |
299 | * @throws IllegalArgumentException if the principalName is blank | |
300 | */ | |
301 | @WebMethod(operationName = "getPrincipalByPrincipalNameAndPassword") | |
302 | @WebResult(name = "principal") | |
303 | @Cacheable(value= Principal.Cache.NAME, key="'principalName=' + #p0 + '|' + 'password=' + #p1") | |
304 | Principal getPrincipalByPrincipalNameAndPassword( @WebParam(name="principalName") String principalName, @WebParam(name="password") String password ) throws RiceIllegalArgumentException; | |
305 | ||
306 | /** | |
307 | * This will create a {@link org.kuali.rice.kim.api.identity.principal.Principal} exactly like the principal passed in. | |
308 | * | |
309 | * The principal object passed in must be populated with an entityId and a principalName | |
310 | * | |
311 | * @param principal the principal to create | |
312 | * @return the newly created Principal object. | |
313 | * @throws IllegalArgumentException if the principal is null | |
314 | * @throws IllegalStateException if the principal already exists in the system or the principal object is not populated with entityId and principalName | |
315 | */ | |
316 | @WebMethod(operationName="addPrincipalToEntity") | |
317 | @WebResult(name = "principal") | |
318 | @CacheEvict(value = {Principal.Cache.NAME, Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
319 | Principal addPrincipalToEntity(@WebParam(name = "principal") Principal principal) | |
320 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
321 | ||
322 | /** | |
323 | * This will update a {@link org.kuali.rice.kim.api.identity.principal.Principal} exactly like the principal passed in. | |
324 | * | |
325 | * | |
326 | * @param principal the principal to update | |
327 | * @return the updated Principal object. | |
328 | * @throws IllegalArgumentException if the principal is null | |
329 | * @throws IllegalStateException if the principal does not exist in the system. | |
330 | */ | |
331 | @WebMethod(operationName="updatePrincipal") | |
332 | @WebResult(name = "principal") | |
333 | @CacheEvict(value = {Principal.Cache.NAME, Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
334 | Principal updatePrincipal(@WebParam(name = "principal") Principal principal) | |
335 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
336 | ||
337 | /** | |
338 | * This will inactivate a {@link org.kuali.rice.kim.api.identity.principal.Principal}. | |
339 | * | |
340 | * | |
341 | * @param principalId the unique id of the principal to inactivate | |
342 | * @return the inactivated Principal object. | |
343 | * @throws IllegalArgumentException if the principal is null | |
344 | * @throws IllegalStateException if the principal does not exist in the system. | |
345 | */ | |
346 | @WebMethod(operationName="inactivatePrincipal") | |
347 | @WebResult(name = "principal") | |
348 | @CacheEvict(value = {Principal.Cache.NAME, Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
349 | Principal inactivatePrincipal(@WebParam(name = "principalId") String principalId) | |
350 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
351 | ||
352 | /** | |
353 | * This will inactivate a {@link org.kuali.rice.kim.api.identity.principal.Principal}. | |
354 | * | |
355 | * | |
356 | * @param principalName the unique principalName of the principal to inactivate | |
357 | * @return the inactivated Principal object. | |
358 | * @throws IllegalArgumentException if the principal is null | |
359 | * @throws IllegalStateException if the principal does not exist in the system. | |
360 | */ | |
361 | @WebMethod(operationName="inactivatePrincipalByName") | |
362 | @WebResult(name = "principal") | |
363 | @CacheEvict(value = {Principal.Cache.NAME, Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
364 | Principal inactivatePrincipalByName(@WebParam(name = "principalName") String principalName) | |
365 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
366 | ||
367 | ||
368 | /** | |
369 | * This will create a {@link org.kuali.rice.kim.api.identity.type.EntityTypeContactInfo} exactly like the entityTypeContactInfo passed in. | |
370 | * | |
371 | * The EntityTypeContactInfo object passed in must be populated with an entityId and a entityTypeCode | |
372 | * | |
373 | * @param entityTypeContactInfo the EntityTypeContactInfo to create | |
374 | * @return the newly created EntityTypeContactInfo object. | |
375 | * @throws IllegalArgumentException if the entityTypeContactInfo is null | |
376 | * @throws IllegalStateException if the entityTypeContactInfo already exists in the system or the EntityTypeContactInfo object is not populated with entityId and entityTypeCode | |
377 | */ | |
378 | @WebMethod(operationName="addEntityTypeContactInfoToEntity") | |
379 | @WebResult(name = "entityTypeContactInfo") | |
380 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
381 | EntityTypeContactInfo addEntityTypeContactInfoToEntity( | |
382 | @WebParam(name = "entityTypeContactInfo") EntityTypeContactInfo entityTypeContactInfo) | |
383 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
384 | ||
385 | /** | |
386 | * This will update a {@link org.kuali.rice.kim.api.identity.type.EntityTypeContactInfo} exactly like the entityTypeContactInfo passed in. | |
387 | * | |
388 | * | |
389 | * @param entityTypeContactInfo the EntityTypeContactInfo to update | |
390 | * @return the updated EntityTypeContactInfo object. | |
391 | * @throws IllegalArgumentException if the entityTypeContactInfo is null | |
392 | * @throws IllegalStateException if the entityTypeContactInfo does not exist in the system. | |
393 | */ | |
394 | @WebMethod(operationName="updateEntityTypeContactInfo") | |
395 | @WebResult(name = "entityTypeContactInfo") | |
396 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
397 | EntityTypeContactInfo updateEntityTypeContactInfo(@WebParam(name = "entityTypeContactInfo") EntityTypeContactInfo entityTypeContactInfo) | |
398 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
399 | ||
400 | /** | |
401 | * This will inactivate a {@link org.kuali.rice.kim.api.identity.type.EntityTypeContactInfo} with the passed in parameters. | |
402 | * | |
403 | * | |
404 | * @param entityId the entityId of the EntityTypeContactInfo to inactivate | |
405 | * @param entityTypeCode the entityTypeCode of the EntityTypeContactInfo to inactivate | |
406 | * @return the inactivated EntityTypeContactInfo object. | |
407 | * @throws IllegalArgumentException if the entityId or entityTypeCode passed in is null | |
408 | * @throws IllegalStateException if the EntityTypeContactInfo does not exist in the system. | |
409 | */ | |
410 | @WebMethod(operationName="inactivateEntityTypeContactInfo") | |
411 | @WebResult(name = "entityTypeContactInfo") | |
412 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
413 | EntityTypeContactInfo inactivateEntityTypeContactInfo(@WebParam(name = "entityId") String entityId, | |
414 | @WebParam(name = "entityTypeCode") String entityTypeCode) | |
415 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
416 | ||
417 | /** | |
418 | * This will create a {@link org.kuali.rice.kim.api.identity.address.EntityAddress} exactly like the address passed in. | |
419 | * | |
420 | * The EntityAddress object passed in must be populated with an entityId and a entityTypeCode | |
421 | * | |
422 | * @param address the EntityAddress to create | |
423 | * @return the newly created EntityAddress object. | |
424 | * @throws IllegalArgumentException if the address is null | |
425 | * @throws IllegalStateException if the address already exists in the system or address is not populated with entityId and entityTypeCode | |
426 | */ | |
427 | @WebMethod(operationName="addAddressToEntity") | |
428 | @WebResult(name = "address") | |
429 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
430 | EntityAddress addAddressToEntity(@WebParam(name = "address") EntityAddress address) | |
431 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
432 | ||
433 | /** | |
434 | * This will update a {@link org.kuali.rice.kim.api.identity.address.EntityAddress} exactly like the address passed in. | |
435 | * | |
436 | * | |
437 | * @param address the EntityAddress to update | |
438 | * @return the updated EntityAddress object. | |
439 | * @throws IllegalArgumentException if the address is null | |
440 | * @throws IllegalStateException if the address does not exist in the system. | |
441 | */ | |
442 | @WebMethod(operationName="updateAddress") | |
443 | @WebResult(name = "address") | |
444 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
445 | EntityAddress updateAddress(@WebParam(name = "address")EntityAddress address) | |
446 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
447 | ||
448 | /** | |
449 | * This will inactivate a {@link org.kuali.rice.kim.api.identity.address.EntityAddress} with the id passed in. | |
450 | * | |
451 | * | |
452 | * @param id the unique id of the EntityAddress to inactivate | |
453 | * @return the updated EntityAddress object. | |
454 | * @throws IllegalArgumentException if the id is null | |
455 | * @throws IllegalStateException if the address does not exist in the system. | |
456 | */ | |
457 | @WebMethod(operationName="inactivateAddress") | |
458 | @WebResult(name = "address") | |
459 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
460 | EntityAddress inactivateAddress(@WebParam(name = "id") String id) | |
461 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
462 | ||
463 | /** | |
464 | * This will create a {@link org.kuali.rice.kim.api.identity.email.EntityEmail} exactly like the email passed in. | |
465 | * | |
466 | * The EntityEmail object passed in must be populated with an entityId and a entityTypeCode | |
467 | * | |
468 | * @param email the EntityEmail to create | |
469 | * @return the newly created EntityEmail object. | |
470 | * @throws IllegalArgumentException if the email is null | |
471 | * @throws IllegalStateException if the email already exists in the system or email is not populated with entityId and entityTypeCode | |
472 | */ | |
473 | @WebMethod(operationName="addEmailToEntity") | |
474 | @WebResult(name = "email") | |
475 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
476 | EntityEmail addEmailToEntity(@WebParam(name = "email") EntityEmail email) | |
477 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
478 | ||
479 | /** | |
480 | * This will update a {@link org.kuali.rice.kim.api.identity.email.EntityEmail} exactly like the email passed in. | |
481 | * | |
482 | * | |
483 | * @param email the EntityEmail to update | |
484 | * @return the updated EntityEmail object. | |
485 | * @throws IllegalArgumentException if the email is null | |
486 | * @throws IllegalStateException if the email does not exist in the system. | |
487 | */ | |
488 | @WebMethod(operationName="updateEmail") | |
489 | @WebResult(name = "email") | |
490 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
491 | EntityEmail updateEmail(@WebParam(name = "email") EntityEmail email) | |
492 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
493 | ||
494 | /** | |
495 | * This will inactivate the {@link org.kuali.rice.kim.api.identity.email.EntityEmail} with the passed in id. | |
496 | * | |
497 | * | |
498 | * @param id the unique id of the EntityEmail to inactivate | |
499 | * @return the inactivated EntityEmail object. | |
500 | * @throws IllegalArgumentException if the id is null | |
501 | * @throws IllegalStateException if the email does not exist in the system. | |
502 | */ | |
503 | @WebMethod(operationName="inactivateEmail") | |
504 | @WebResult(name = "email") | |
505 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
506 | EntityEmail inactivateEmail(@WebParam(name = "id") String id) | |
507 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
508 | ||
509 | /** | |
510 | * This will create a {@link org.kuali.rice.kim.api.identity.phone.EntityPhone} exactly like the phone passed in. | |
511 | * | |
512 | * The EntityPhone object passed in must be populated with an entityId and a entityTypeCode | |
513 | * | |
514 | * @param phone the EntityPhone to create | |
515 | * @return the newly created EntityPhone object. | |
516 | * @throws IllegalArgumentException if the phone is null | |
517 | * @throws IllegalStateException if the phone already exists in the system or phone is not populated with entityId and entityTypeCode | |
518 | */ | |
519 | @WebMethod(operationName="addPhoneToEntity") | |
520 | @WebResult(name = "phone") | |
521 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
522 | EntityPhone addPhoneToEntity(@WebParam(name = "phone") EntityPhone phone) | |
523 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
524 | ||
525 | /** | |
526 | * This will update a {@link org.kuali.rice.kim.api.identity.phone.EntityPhone} exactly like the phone passed in. | |
527 | * | |
528 | * | |
529 | * @param phone the EntityPhone to update | |
530 | * @return the updated EntityPhone object. | |
531 | * @throws IllegalArgumentException if the phone is null | |
532 | * @throws IllegalStateException if the phone does not exist in the system. | |
533 | */ | |
534 | @WebMethod(operationName="updatePhone") | |
535 | @WebResult(name = "phone") | |
536 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
537 | EntityPhone updatePhone(@WebParam(name = "phone") EntityPhone phone) | |
538 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
539 | ||
540 | /** | |
541 | * This will inactivate the {@link org.kuali.rice.kim.api.identity.phone.EntityPhone} with the passed in id. | |
542 | * | |
543 | * | |
544 | * @param id the unique id of the EntityPhone to inactivate | |
545 | * @return the inactivated EntityPhone object. | |
546 | * @throws IllegalArgumentException if the id is null | |
547 | * @throws IllegalStateException if the phone does not exist in the system. | |
548 | */ | |
549 | @WebMethod(operationName="inactivatePhone") | |
550 | @WebResult(name = "phone") | |
551 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
552 | EntityPhone inactivatePhone(@WebParam(name = "id") String id) | |
553 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
554 | ||
555 | ||
556 | /** | |
557 | * This will create a {@link org.kuali.rice.kim.api.identity.external.EntityExternalIdentifier} exactly like the externalId passed in. | |
558 | * | |
559 | * The EntityExternalIdentifier object passed in must be populated with an entityId and a externalIdentifierTypeCode | |
560 | * | |
561 | * @param externalId the EntityExternalIdentifier to create | |
562 | * @return the newly created EntityExternalIdentifier object. | |
563 | * @throws IllegalArgumentException if the externalId is null | |
564 | * @throws IllegalStateException if the externalId already exists in the system or externalId is not populated with entityId and externalIdentifierTypeCode | |
565 | */ | |
566 | @WebMethod(operationName="addExternalIdentifierToEntity") | |
567 | @WebResult(name = "externalId") | |
568 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
569 | EntityExternalIdentifier addExternalIdentifierToEntity(@WebParam(name = "externalId") EntityExternalIdentifier externalId) | |
570 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
571 | ||
572 | /** | |
573 | * This will update a {@link org.kuali.rice.kim.api.identity.external.EntityExternalIdentifier} exactly like the externalId passed in. | |
574 | * | |
575 | * | |
576 | * @param externalId the EntityExternalIdentifier to update | |
577 | * @return the updated EntityExternalIdentifier object. | |
578 | * @throws IllegalArgumentException if the externalId is null | |
579 | * @throws IllegalStateException if the externalId does not exist in the system. | |
580 | */ | |
581 | @WebMethod(operationName="updateExternalIdentifier") | |
582 | @WebResult(name = "externalId") | |
583 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
584 | EntityExternalIdentifier updateExternalIdentifier(@WebParam(name = "externalId") EntityExternalIdentifier externalId) | |
585 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
586 | ||
587 | /** | |
588 | * This will create a {@link org.kuali.rice.kim.api.identity.affiliation.EntityAffiliation} exactly like the affiliation passed in. | |
589 | * | |
590 | * The EntityAffiliation object passed in must be populated with an entityId and a affiliationType | |
591 | * | |
592 | * @param affiliation the EntityAffiliation to create | |
593 | * @return the newly created EntityAffiliation object. | |
594 | * @throws IllegalArgumentException if the affiliation is null | |
595 | * @throws IllegalStateException if the affiliation already exists in the system or affiliation is not populated with entityId and affiliationType | |
596 | */ | |
597 | @WebMethod(operationName="addAffiliationToEntity") | |
598 | @WebResult(name = "affiliation") | |
599 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
600 | EntityAffiliation addAffiliationToEntity(@WebParam(name = "affiliation") EntityAffiliation affiliation) | |
601 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
602 | ||
603 | /** | |
604 | * This will update a {@link org.kuali.rice.kim.api.identity.affiliation.EntityAffiliation} exactly like the affiliation passed in. | |
605 | * | |
606 | * | |
607 | * @param affiliation the EntityAffiliation to update | |
608 | * @return the updated EntityAffiliation object. | |
609 | * @throws IllegalArgumentException if the affiliation is null | |
610 | * @throws IllegalStateException if the affiliation does not exist in the system. | |
611 | */ | |
612 | @WebMethod(operationName="updateAffiliation") | |
613 | @WebResult(name = "affiliation") | |
614 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
615 | EntityAffiliation updateAffiliation(@WebParam(name = "affiliation") EntityAffiliation affiliation) | |
616 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
617 | ||
618 | /** | |
619 | * This will inactivate a {@link org.kuali.rice.kim.api.identity.affiliation.EntityAffiliation} with the id passed in. | |
620 | * | |
621 | * | |
622 | * @param id the unique id of the EntityAffiliation to inactivate | |
623 | * @return the updated EntityAffiliation object. | |
624 | * @throws IllegalArgumentException if the affiliation is null | |
625 | * @throws IllegalStateException if the affiliation does not exist in the system. | |
626 | */ | |
627 | @WebMethod(operationName="inactivateAffiliation") | |
628 | @WebResult(name = "affiliation") | |
629 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
630 | EntityAffiliation inactivateAffiliation(@WebParam(name = "id") String id) | |
631 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
632 | ||
633 | /** | |
634 | * This will create a {@link org.kuali.rice.kim.api.identity.name.EntityName} exactly like the name passed in. | |
635 | * | |
636 | * The EntityName object passed in must be populated with an entityId and a nameType | |
637 | * | |
638 | * @param name the EntityName to create | |
639 | * @return the newly created EntityName object. | |
640 | * @throws IllegalArgumentException if the name is null | |
641 | * @throws IllegalStateException if the name already exists in the system or name is not populated with entityId and nameType | |
642 | */ | |
643 | @WebMethod(operationName="addNameToEntity") | |
644 | @WebResult(name = "name") | |
645 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
646 | EntityName addNameToEntity(@WebParam(name = "name") EntityName name) | |
647 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
648 | ||
649 | /** | |
650 | * This will update a {@link org.kuali.rice.kim.api.identity.name.EntityName} exactly like the name passed in. | |
651 | * | |
652 | * | |
653 | * @param name the EntityName to update | |
654 | * @return the updated EntityName object. | |
655 | * @throws IllegalArgumentException if the name is null | |
656 | * @throws IllegalStateException if the name does not exist in the system. | |
657 | */ | |
658 | @WebMethod(operationName="updateName") | |
659 | @WebResult(name = "name") | |
660 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
661 | EntityName updateName(@WebParam(name = "name") EntityName name) | |
662 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
663 | ||
664 | /** | |
665 | * This will inactivate a {@link org.kuali.rice.kim.api.identity.name.EntityName} with the passed in id. | |
666 | * | |
667 | * | |
668 | * @param id the unique id of the EntityName to inactivate | |
669 | * @return the inactivated EntityName object. | |
670 | * @throws IllegalArgumentException if the id is null | |
671 | * @throws IllegalStateException if the name with the id does not exist in the system. | |
672 | */ | |
673 | @WebMethod(operationName="inactivateName") | |
674 | @WebResult(name = "name") | |
675 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
676 | EntityName inactivateName(@WebParam(name = "id") String id) | |
677 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
678 | ||
679 | /** | |
680 | * This will create a {@link org.kuali.rice.kim.api.identity.employment.EntityEmployment} exactly like the employment passed in. | |
681 | * | |
682 | * The EntityEmployment object passed in must be populated with an entityId and a employmentType | |
683 | * | |
684 | * @param employment the EntityEmployment to create | |
685 | * @return the newly created EntityName object. | |
686 | * @throws IllegalArgumentException if the employment is null | |
687 | * @throws IllegalStateException if the employment already exists in the system or employment is not populated with entityId and employmentType | |
688 | */ | |
689 | @WebMethod(operationName="addEmploymentToEntity") | |
690 | @WebResult(name = "employment") | |
691 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
692 | EntityEmployment addEmploymentToEntity(@WebParam(name = "employment") EntityEmployment employment) | |
693 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
694 | ||
695 | /** | |
696 | * This will update a {@link org.kuali.rice.kim.api.identity.employment.EntityEmployment} exactly like the employment passed in. | |
697 | * | |
698 | * | |
699 | * @param employment the EntityEmployment to update | |
700 | * @return the updated EntityEmployment object. | |
701 | * @throws IllegalArgumentException if the employment is null | |
702 | * @throws IllegalStateException if the employment does not exist in the system. | |
703 | */ | |
704 | @WebMethod(operationName="updateEmployment") | |
705 | @WebResult(name = "employment") | |
706 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
707 | EntityEmployment updateEmployment(@WebParam(name = "employment") EntityEmployment employment) | |
708 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
709 | ||
710 | /** | |
711 | * This will inactivate a {@link org.kuali.rice.kim.api.identity.employment.EntityEmployment} with the passed in id. | |
712 | * | |
713 | * | |
714 | * @param id the unique id of the EntityEmployment to inactivate | |
715 | * @return the inactivated EntityEmployment object. | |
716 | * @throws IllegalArgumentException if the id is null | |
717 | * @throws IllegalStateException if the employment with the id does not exist in the system. | |
718 | */ | |
719 | @WebMethod(operationName="inactivateEmployment") | |
720 | @WebResult(name = "employment") | |
721 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
722 | EntityEmployment inactivateEmployment(@WebParam(name = "id") String id) | |
723 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
724 | ||
725 | /** | |
726 | * This will create a {@link org.kuali.rice.kim.api.identity.personal.EntityBioDemographics} exactly like the bioDemographics passed in. | |
727 | * | |
728 | * The EntityBioDemographics object passed in must be populated with an entityId | |
729 | * | |
730 | * @param bioDemographics the EntityBioDemographics to create | |
731 | * @return the newly created EntityBioDemographics object. | |
732 | * @throws IllegalArgumentException if the bioDemographics is null | |
733 | * @throws IllegalStateException if the bioDemographics already exists in the system or bioDemographics is not populated with entityId | |
734 | */ | |
735 | @WebMethod(operationName="addBioDemographicsToEntity") | |
736 | @WebResult(name = "bioDemographics") | |
737 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
738 | EntityBioDemographics addBioDemographicsToEntity(@WebParam(name = "bioDemographics") EntityBioDemographics bioDemographics) | |
739 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
740 | ||
741 | /** | |
742 | * This will update a {@link org.kuali.rice.kim.api.identity.personal.EntityBioDemographics} exactly like the bioDemographics passed in. | |
743 | * | |
744 | * | |
745 | * @param bioDemographics the EntityBioDemographics to update | |
746 | * @return the updated EntityBioDemographics object. | |
747 | * @throws IllegalArgumentException if the bioDemographics is null | |
748 | * @throws IllegalStateException if the bioDemographics does not exist in the system. | |
749 | */ | |
750 | @WebMethod(operationName="updateBioDemographics") | |
751 | @WebResult(name = "bioDemographics") | |
752 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
753 | EntityBioDemographics updateBioDemographics(@WebParam(name = "bioDemographics") EntityBioDemographics bioDemographics) | |
754 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
755 | ||
756 | /** | |
757 | * Gets a {@link org.kuali.rice.kim.api.identity.privacy.EntityPrivacyPreferences} for a given id. | |
758 | * | |
759 | * <p> | |
760 | * This method will return null if the EntityPrivacyPreferences does not exist. | |
761 | * </p> | |
762 | * | |
763 | * @param id the unique id to retrieve the EntityPrivacyPreferences by. Cannot be null. | |
764 | * @return a {@link org.kuali.rice.kim.api.identity.privacy.EntityPrivacyPreferences} or null | |
765 | * @throws IllegalArgumentException if the entityId is blank | |
766 | */ | |
767 | @WebMethod(operationName = "getEntityPrivacyPreferences") | |
768 | @WebResult(name = "privacyPreferences") | |
769 | @Cacheable(value= EntityPrivacyPreferences.Cache.NAME, key="'id=' + #p0") | |
770 | EntityPrivacyPreferences getEntityPrivacyPreferences( @WebParam(name="id") String id ) throws RiceIllegalArgumentException; | |
771 | ||
772 | /** | |
773 | * This will create a {@link org.kuali.rice.kim.api.identity.privacy.EntityPrivacyPreferences} exactly like the privacyPreferences passed in. | |
774 | * | |
775 | * The EntityPrivacyPreferences object passed in must be populated with an entityId | |
776 | * | |
777 | * @param privacyPreferences the EntityPrivacyPreferences to create | |
778 | * @return the newly created EntityPrivacyPreferences object. | |
779 | * @throws IllegalArgumentException if the privacyPreferences is null | |
780 | * @throws IllegalStateException if the privacyPreferences already exists in the system or privacyPreferences is not populated with entityId | |
781 | */ | |
782 | @WebMethod(operationName="addPrivacyPreferencesToEntity") | |
783 | @WebResult(name = "privacyPreferences") | |
784 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME, EntityPrivacyPreferences.Cache.NAME}, allEntries = true) | |
785 | EntityPrivacyPreferences addPrivacyPreferencesToEntity(@WebParam(name = "privacyPreferences") EntityPrivacyPreferences privacyPreferences) | |
786 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
787 | ||
788 | /** | |
789 | * This will update a {@link org.kuali.rice.kim.api.identity.privacy.EntityPrivacyPreferences} exactly like the privacyPreferences passed in. | |
790 | * | |
791 | * | |
792 | * @param privacyPreferences the EntityPrivacyPreferences to update | |
793 | * @return the updated EntityPrivacyPreferences object. | |
794 | * @throws IllegalArgumentException if the privacyPreferences is null | |
795 | * @throws IllegalStateException if the privacyPreferences does not exist in the system. | |
796 | */ | |
797 | @WebMethod(operationName="updatePrivacyPreferences") | |
798 | @WebResult(name = "privacyPreferences") | |
799 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME, EntityPrivacyPreferences.Cache.NAME}, allEntries = true) | |
800 | EntityPrivacyPreferences updatePrivacyPreferences(@WebParam(name = "privacyPreferences") EntityPrivacyPreferences privacyPreferences) | |
801 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
802 | ||
803 | ||
804 | /** | |
805 | * This will create a {@link org.kuali.rice.kim.api.identity.citizenship.EntityCitizenship} exactly like the citizenship passed in. | |
806 | * | |
807 | * The EntityCitizenship object passed in must be populated with an entityId and a status | |
808 | * | |
809 | * @param citizenship the EntityCitizenship to create | |
810 | * @return the newly created EntityCitizenship object. | |
811 | * @throws IllegalArgumentException if the citizenship is null | |
812 | * @throws IllegalStateException if the citizenship already exists in the system or citizenship is not populated with entityId and status | |
813 | */ | |
814 | @WebMethod(operationName="addCitizenshipToEntity") | |
815 | @WebResult(name = "citizenship") | |
816 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
817 | EntityCitizenship addCitizenshipToEntity(@WebParam(name = "citizenship") EntityCitizenship citizenship) | |
818 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
819 | ||
820 | /** | |
821 | * This will update a {@link org.kuali.rice.kim.api.identity.citizenship.EntityCitizenship} exactly like the citizenship passed in. | |
822 | * | |
823 | * | |
824 | * @param citizenship the EntityCitizenship to update | |
825 | * @return the updated EntityCitizenship object. | |
826 | * @throws IllegalArgumentException if the citizenship is null | |
827 | * @throws IllegalStateException if the citizenship does not exist in the system. | |
828 | */ | |
829 | @WebMethod(operationName="updateCitizenship") | |
830 | @WebResult(name = "citizenship") | |
831 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
832 | EntityCitizenship updateCitizenship(@WebParam(name = "citizenship") EntityCitizenship citizenship) | |
833 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
834 | ||
835 | /** | |
836 | * This will inactivate a {@link org.kuali.rice.kim.api.identity.citizenship.EntityCitizenship} with the unique id passed in. | |
837 | * | |
838 | * | |
839 | * @param id the id of the EntityCitizenship to inactivate | |
840 | * @return the inactivated EntityCitizenship object. | |
841 | * @throws IllegalArgumentException if the citizenship is null | |
842 | * @throws IllegalStateException if the citizenship does not exist in the system. | |
843 | */ | |
844 | @WebMethod(operationName="inactivateCitizenship") | |
845 | @WebResult(name = "citizenship") | |
846 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
847 | EntityCitizenship inactivateCitizenship(@WebParam(name = "id") String id) | |
848 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
849 | ||
850 | /** | |
851 | * This will create a {@link EntityEthnicity} exactly like the ethnicity passed in. | |
852 | * | |
853 | * The EntityEthnicity object passed in must be populated with an entityId and a ethnicity code | |
854 | * | |
855 | * @param ethnicity the EntityEthnicity to create | |
856 | * @return the newly created EntityEthnicity object. | |
857 | * @throws IllegalArgumentException if the ethnicity is null | |
858 | * @throws IllegalStateException if the ethnicity already exists in the system or ethnicity is not populated with entityId and ethnicity code | |
859 | */ | |
860 | @WebMethod(operationName="addEthnicityToEntity") | |
861 | @WebResult(name = "ethnicity") | |
862 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
863 | EntityEthnicity addEthnicityToEntity(@WebParam(name = "ethnicity") EntityEthnicity ethnicity) | |
864 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
865 | ||
866 | /** | |
867 | * This will update a {@link EntityEthnicity} exactly like the ethnicity passed in. | |
868 | * | |
869 | * | |
870 | * @param ethnicity the EntityEthnicity to update | |
871 | * @return the updated EntityEthnicity object. | |
872 | * @throws IllegalArgumentException if the ethnicity is null | |
873 | * @throws IllegalStateException if the ethnicity does not exist in the system. | |
874 | */ | |
875 | @WebMethod(operationName="updateEthnicity") | |
876 | @WebResult(name = "ethnicity") | |
877 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
878 | EntityEthnicity updateEthnicity(@WebParam(name = "ethnicity") EntityEthnicity ethnicity) | |
879 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
880 | ||
881 | /** | |
882 | * This will create a {@link org.kuali.rice.kim.api.identity.residency.EntityResidency} exactly like the residency passed in. | |
883 | * | |
884 | * The EntityResidency object passed in must be populated with an entityId | |
885 | * | |
886 | * @param residency the EntityResidency to create | |
887 | * @return the newly created EntityResidency object. | |
888 | * @throws IllegalArgumentException if the residency is null | |
889 | * @throws IllegalStateException if the residency already exists in the system or residency is not populated with entityId | |
890 | */ | |
891 | @WebMethod(operationName="addResidencyToEntity") | |
892 | @WebResult(name = "residency") | |
893 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
894 | EntityResidency addResidencyToEntity(@WebParam(name = "residency") EntityResidency residency) | |
895 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
896 | ||
897 | /** | |
898 | * This will update a {@link org.kuali.rice.kim.api.identity.residency.EntityResidency} exactly like the residency passed in. | |
899 | * | |
900 | * | |
901 | * @param residency the EntityResidency to update | |
902 | * @return the updated EntityResidency object. | |
903 | * @throws IllegalArgumentException if the residency is null | |
904 | * @throws IllegalStateException if the residency does not exist in the system. | |
905 | */ | |
906 | @WebMethod(operationName="updateResidency") | |
907 | @WebResult(name = "residency") | |
908 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
909 | EntityResidency updateResidency(@WebParam(name = "residency") EntityResidency residency) | |
910 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
911 | ||
912 | ||
913 | /** | |
914 | * This will create a {@link org.kuali.rice.kim.api.identity.visa.EntityVisa} exactly like the visa passed in. | |
915 | * | |
916 | * The EntityVisa object passed in must be populated with an entityId and a visaTypeKey | |
917 | * | |
918 | * @param visa the EntityVisa to create | |
919 | * @return the newly created EntityVisa object. | |
920 | * @throws IllegalArgumentException if the visa is null | |
921 | * @throws IllegalStateException if the visa already exists in the system or visa is not populated with entityId and a visaTypeKey | |
922 | */ | |
923 | @WebMethod(operationName="addVisaToEntity") | |
924 | @WebResult(name = "visa") | |
925 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
926 | EntityVisa addVisaToEntity(@WebParam(name = "visa") EntityVisa visa) | |
927 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
928 | ||
929 | /** | |
930 | * This will update a {@link org.kuali.rice.kim.api.identity.visa.EntityVisa} exactly like the visa passed in. | |
931 | * | |
932 | * | |
933 | * @param visa the EntityVisa to update | |
934 | * @return the updated EntityVisa object. | |
935 | * @throws IllegalArgumentException if the visa is null | |
936 | * @throws IllegalStateException if the visa does not exist in the system. | |
937 | */ | |
938 | @WebMethod(operationName="updateVisa") | |
939 | @WebResult(name = "visa") | |
940 | @CacheEvict(value={Entity.Cache.NAME, EntityDefault.Cache.NAME}, allEntries = true) | |
941 | EntityVisa updateVisa(@WebParam(name = "visa") EntityVisa visa) | |
942 | throws RiceIllegalArgumentException, RiceIllegalStateException; | |
943 | ||
944 | /** | |
945 | * Gets the {@link org.kuali.rice.kim.api.identity.CodedAttribute} for a given EntityType code. | |
946 | * | |
947 | * <p> | |
948 | * This method will return null if the code does not exist. | |
949 | * </p> | |
950 | * | |
951 | * @param code the unique id to retrieve the Type by. Cannot be null. | |
952 | * @return a {@link org.kuali.rice.kim.api.identity.CodedAttribute} or null | |
953 | * @throws IllegalArgumentException if the code is blank | |
954 | */ | |
955 | @WebMethod(operationName = "getEntityType") | |
956 | @WebResult(name = "type") | |
957 | @Cacheable(value= CodedAttribute.Cache.NAME + "{EntityType}", key="'code=' + #p0") | |
958 | CodedAttribute getEntityType( @WebParam(name="code") String code ) throws RiceIllegalArgumentException; | |
959 | ||
960 | ||
961 | /** | |
962 | * Gets the {@link org.kuali.rice.kim.api.identity.CodedAttribute} for a given EntityAddressType code. | |
963 | * | |
964 | * <p> | |
965 | * This method will return null if the code does not exist. | |
966 | * </p> | |
967 | * | |
968 | * @param code the unique id to retrieve the Type by. Cannot be null. | |
969 | * @return a {@link org.kuali.rice.kim.api.identity.CodedAttribute} or null | |
970 | * @throws IllegalArgumentException if the code is blank | |
971 | */ | |
972 | @WebMethod(operationName = "getAddressType") | |
973 | @WebResult(name = "type") | |
974 | @Cacheable(value= CodedAttribute.Cache.NAME + "{AddressType}", key="'code=' + #p0") | |
975 | CodedAttribute getAddressType( @WebParam(name="code") String code ) throws RiceIllegalArgumentException; | |
976 | ||
977 | /** | |
978 | * Gets the {@link org.kuali.rice.kim.api.identity.affiliation.EntityAffiliationType} for a given EntityAffiliationType code. | |
979 | * | |
980 | * <p> | |
981 | * This method will return null if the code does not exist. | |
982 | * </p> | |
983 | * | |
984 | * @param code the unique id to retrieve the EntityAffiliationType by. Cannot be null. | |
985 | * @return a {@link org.kuali.rice.kim.api.identity.affiliation.EntityAffiliationType} or null | |
986 | * @throws IllegalArgumentException if the code is blank | |
987 | */ | |
988 | @WebMethod(operationName = "getAffiliationType") | |
989 | @WebResult(name = "affiliationType") | |
990 | @Cacheable(value= CodedAttribute.Cache.NAME + "{AffiliationType}", key="'code=' + #p0") | |
991 | EntityAffiliationType getAffiliationType( @WebParam(name="code") String code ) throws RiceIllegalArgumentException; | |
992 | ||
993 | /** | |
994 | * Gets the {@link org.kuali.rice.kim.api.identity.CodedAttribute} for a given EntityCitizenship status code. | |
995 | * | |
996 | * <p> | |
997 | * This method will return null if the code does not exist. | |
998 | * </p> | |
999 | * | |
1000 | * @param code the unique id to retrieve the Type by. Cannot be null. | |
1001 | * @return a {@link org.kuali.rice.kim.api.identity.CodedAttribute} or null | |
1002 | * @throws IllegalArgumentException if the code is blank | |
1003 | */ | |
1004 | @WebMethod(operationName = "getCitizenshipStatus") | |
1005 | @WebResult(name = "type") | |
1006 | @Cacheable(value= CodedAttribute.Cache.NAME + "{CitizenshipStatus}", key="'code=' + #p0") | |
1007 | CodedAttribute getCitizenshipStatus( @WebParam(name="code") String code ) throws RiceIllegalArgumentException; | |
1008 | ||
1009 | /** | |
1010 | * Gets the {@link org.kuali.rice.kim.api.identity.CodedAttribute} for a given EntityEmployment type code. | |
1011 | * | |
1012 | * <p> | |
1013 | * This method will return null if the code does not exist. | |
1014 | * </p> | |
1015 | * | |
1016 | * @param code the unique id to retrieve the Type by. Cannot be null. | |
1017 | * @return a {@link org.kuali.rice.kim.api.identity.CodedAttribute} or null | |
1018 | * @throws IllegalArgumentException if the code is blank | |
1019 | */ | |
1020 | @WebMethod(operationName = "getEmploymentType") | |
1021 | @WebResult(name = "type") | |
1022 | @Cacheable(value= CodedAttribute.Cache.NAME + "{EmploymentType}", key="'code=' + #p0") | |
1023 | CodedAttribute getEmploymentType( @WebParam(name="code") String code ) throws RiceIllegalArgumentException; | |
1024 | ||
1025 | /** | |
1026 | * Gets the {@link org.kuali.rice.kim.api.identity.CodedAttribute} for a given EntityEmployment status code. | |
1027 | * | |
1028 | * <p> | |
1029 | * This method will return null if the code does not exist. | |
1030 | * </p> | |
1031 | * | |
1032 | * @param code the unique id to retrieve the Type by. Cannot be null. | |
1033 | * @return a {@link org.kuali.rice.kim.api.identity.CodedAttribute} or null | |
1034 | * @throws IllegalArgumentException if the code is blank | |
1035 | */ | |
1036 | @WebMethod(operationName = "getEmploymentStatus") | |
1037 | @WebResult(name = "type") | |
1038 | @Cacheable(value= CodedAttribute.Cache.NAME + "{EmploymentStatus}", key="'code=' + #p0") | |
1039 | CodedAttribute getEmploymentStatus( @WebParam(name="code") String code ) throws RiceIllegalArgumentException; | |
1040 | ||
1041 | /** | |
1042 | * Gets the {@link org.kuali.rice.kim.api.identity.external.EntityExternalIdentifierType} for a given type code. | |
1043 | * | |
1044 | * <p> | |
1045 | * This method will return null if the code does not exist. | |
1046 | * </p> | |
1047 | * | |
1048 | * @param code the unique id to retrieve the EntityExternalIdentifierType by. Cannot be null. | |
1049 | * @return a {@link org.kuali.rice.kim.api.identity.CodedAttribute} or null | |
1050 | * @throws IllegalArgumentException if the code is blank | |
1051 | */ | |
1052 | @WebMethod(operationName = "getExternalIdentifierType") | |
1053 | @WebResult(name = "type") | |
1054 | @Cacheable(value= CodedAttribute.Cache.NAME + "{ExternalIdentifierType}", key="'code=' + #p0") | |
1055 | EntityExternalIdentifierType getExternalIdentifierType( @WebParam(name="code") String code ) throws RiceIllegalArgumentException; | |
1056 | ||
1057 | /** | |
1058 | * Gets the {@link org.kuali.rice.kim.api.identity.CodedAttribute} for a given EntityName type code. | |
1059 | * | |
1060 | * <p> | |
1061 | * This method will return null if the code does not exist. | |
1062 | * </p> | |
1063 | * | |
1064 | * @param code the unique id to retrieve the Type by. Cannot be null. | |
1065 | * @return a {@link org.kuali.rice.kim.api.identity.CodedAttribute} or null | |
1066 | * @throws IllegalArgumentException if the code is blank | |
1067 | */ | |
1068 | @WebMethod(operationName = "getNameType") | |
1069 | @WebResult(name = "type") | |
1070 | @Cacheable(value= CodedAttribute.Cache.NAME + "{NameType}", key="'code=' + #p0") | |
1071 | CodedAttribute getNameType(@WebParam(name = "code") String code) throws RiceIllegalArgumentException; | |
1072 | ||
1073 | /** | |
1074 | * Gets the {@link org.kuali.rice.kim.api.identity.CodedAttribute} for a given EntityPhone type code. | |
1075 | * | |
1076 | * <p> | |
1077 | * This method will return null if the code does not exist. | |
1078 | * </p> | |
1079 | * | |
1080 | * @param code the unique id to retrieve the Type by. Cannot be null. | |
1081 | * @return a {@link org.kuali.rice.kim.api.identity.CodedAttribute} or null | |
1082 | * @throws IllegalArgumentException if the code is blank | |
1083 | */ | |
1084 | @WebMethod(operationName = "getPhoneType") | |
1085 | @WebResult(name = "type") | |
1086 | @Cacheable(value= CodedAttribute.Cache.NAME + "{PhoneType}", key="'code=' + #p0") | |
1087 | CodedAttribute getPhoneType( @WebParam(name="code") String code ) throws RiceIllegalArgumentException; | |
1088 | ||
1089 | /** | |
1090 | * Gets the {@link org.kuali.rice.kim.api.identity.CodedAttribute} for a given EntityEmail type code. | |
1091 | * | |
1092 | * <p> | |
1093 | * This method will return null if the code does not exist. | |
1094 | * </p> | |
1095 | * | |
1096 | * @param code the unique id to retrieve the Type by. Cannot be null. | |
1097 | * @return a {@link org.kuali.rice.kim.api.identity.CodedAttribute} or null | |
1098 | * @throws IllegalArgumentException if the code is blank | |
1099 | */ | |
1100 | @WebMethod(operationName = "getEmailType") | |
1101 | @WebResult(name = "type") | |
1102 | @Cacheable(value= CodedAttribute.Cache.NAME + "{EmailType}", key="'code=' + #p0") | |
1103 | CodedAttribute getEmailType( @WebParam(name="code") String code ) throws RiceIllegalArgumentException; | |
1104 | ||
1105 | } |