org.kuali.rice.kim.api.identity
Interface PersonService

All Known Implementing Classes:
PersonServiceImpl

public interface PersonService

This service acts as a facade on the entity information that is provided through the IdentityService and provides a "person-centric" view of that entity data.

In general, the Person object flattens out the various related pieces of entity data into a denormalized view on that data. In many cases, that data will have a defined "default" value in the entity data model. This default data is what the Person object will be constructed with. For example, an entity can have more than one name, but one of those names is flagged as the default.

This service will do it's best to construct valid Person objects even for entities that don't have an entity type of "PERSON". In those cases not all of the attributes on the Person object will be populated.

Author:
Kuali Rice Team (rice.collab@kuali.org)

Method Summary
 List<Person> findPeople(Map<String,String> criteria)
          Perform an unbounded search for person records.
 List<Person> findPeople(Map<String,String> criteria, boolean unbounded)
          Perform a Person lookup.
 Person getPerson(String principalId)
          Retrieve a single Person object by Principal ID.
 Person getPersonByEmployeeId(String employeeId)
          Gets a single Person by their employee id.
 List<Person> getPersonByExternalIdentifier(String externalIdentifierTypeCode, String externalId)
          Retrieve a person by an arbitrary external identifier.
 Person getPersonByPrincipalName(String principalName)
          Gets a single Person by their principal name (user ID).
 Class<? extends Person> getPersonImplementationClass()
          Get the class object which points to the class used by the underlying implementation.
 Map<String,String> resolvePrincipalNamesToPrincipalIds(BusinessObject businessObject, Map<String,String> fieldValues)
          This method takes a map on its way to populate a business object and replaces all user identifiers with their corresponding universal users
 Person updatePersonIfNecessary(String sourcePrincipalId, Person currentPerson)
          Compares the Principal ID passed in with that in the Person object.
 

Method Detail

getPerson

Person getPerson(String principalId)
Retrieve a single Person object by Principal ID.


getPersonByExternalIdentifier

List<Person> getPersonByExternalIdentifier(String externalIdentifierTypeCode,
                                           String externalId)
Retrieve a person by an arbitrary external identifier. This method could potentially return multiple results as there is no guarantee of uniqueness for external identifiers.

Parameters:
externalIdentifierTypeCode - Type of external identifier to search for.
externalId - The external identifier.
Returns:
List of Person objects.

getPersonByPrincipalName

Person getPersonByPrincipalName(String principalName)
Gets a single Person by their principal name (user ID).


getPersonByEmployeeId

Person getPersonByEmployeeId(String employeeId)
Gets a single Person by their employee id.


findPeople

List<Person> findPeople(Map<String,String> criteria)
Perform an unbounded search for person records.


findPeople

List<Person> findPeople(Map<String,String> criteria,
                        boolean unbounded)
Perform a Person lookup. If bounded, it will follow the configured KNS lookup limit.


getPersonImplementationClass

Class<? extends Person> getPersonImplementationClass()
Get the class object which points to the class used by the underlying implementation. This can be used by implementors who may need to construct Person objects without wishing to bind their code to a specific implementation.


resolvePrincipalNamesToPrincipalIds

Map<String,String> resolvePrincipalNamesToPrincipalIds(BusinessObject businessObject,
                                                       Map<String,String> fieldValues)
This method takes a map on its way to populate a business object and replaces all user identifiers with their corresponding universal users


updatePersonIfNecessary

Person updatePersonIfNecessary(String sourcePrincipalId,
                               Person currentPerson)
Compares the Principal ID passed in with that in the Person object. If they are the same, it returns the original object. Otherwise, it pulls the Person from KIM based on the sourcePrincipalId.



Copyright © 2005-2012 The Kuali Foundation. All Rights Reserved.