1 /* 2 * Copyright 2008-2009 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 = "identityServiceSoap", 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=' + #id") 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=' + #principalId") 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=' + #principalName") 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=' + #id") 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=' + #principalId") 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=' + #principalName") 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=' + #principalId") 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=' + #principalName") 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=' + #principalName + '|' + 'password=' + #password") 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=' + #id") 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=' + #code") 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=' + #code") 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=' + #code") 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=' + #code") 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=' + #code") 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=' + #code") 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=' + #code") 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=' + #code") 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=' + #code") 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=' + #code") 1103 CodedAttribute getEmailType( @WebParam(name="code") String code ) throws RiceIllegalArgumentException; 1104 1105 }