com.ibm.itim.dataservices.model.domain
Class Person

java.lang.Object
  |
  +--com.ibm.itim.dataservices.model.DirectoryEntry
        |
        +--com.ibm.itim.dataservices.model.DirectoryObject
              |
              +--com.ibm.itim.dataservices.model.domain.Person
All Implemented Interfaces:
com.ibm.itim.util.xml.objectstream.Importable, ProtectedObject, java.io.Serializable

public class Person
extends DirectoryObject
implements com.ibm.itim.util.xml.objectstream.Importable

Value Object class that holds the attribute information of a person (identity) in the data model. Although the class name indicates human representation, this class could be used to represent any type of identity, even a computing system, which can be provisioned accounts.

See Also:
PersonEntity, Serialized Form

Field Summary
static java.lang.String PERSON_ATTR_ALIAS
          String constant for the aliases attribute name.
static java.lang.String PERSON_ATTR_DISPLAY
          String constant for the custom display attribute name.
static java.lang.String PERSON_ATTR_EMAIL
          String constant for the email attribute name.
static java.lang.String PERSON_ATTR_LOCALE
          String constant for the preferred locale attribute name
static java.lang.String PERSON_ATTR_NAME
          String constant for the naming attribute name.
static java.lang.String PERSON_ATTR_ROLE
          String constant for the roles attribute name.
static java.lang.String PERSON_ATTR_SHAREDSECRET
          String constant for the shared secret attribute name.
static java.lang.String PERSON_ATTR_SPONSOR
          String constant for the sponsor attribute name.
static java.lang.String PERSON_ATTR_STATUS
          String constant for the status attribute name.
static java.lang.String PERSON_ATTR_SUPERVISOR
          String constant for the supervisor attribute name.
static int STATUS_ACTIVE
          Constant indicating "active" status
static int STATUS_INACTIVE
          Code indicating "inactive" status
 
Fields inherited from class com.ibm.itim.dataservices.model.DirectoryObject
ATTR_ACCESS_RIGHT
 
Constructor Summary
Person(java.lang.String profileName)
          Constructs object with profile.
Person(java.lang.String profileName, AttributeValues attrs)
          Deprecated. Use Person(String profileName) and setAttributes(attributes) instead
 
Method Summary
 void addRole(DistinguishedName roleDN)
          Adds the given role to the person's role membership.
 java.util.Collection getAliases()
          Returns the person's aliases.
 java.lang.String getCustomAttribute()
          Returns the person's custom display attribute.
 DistinguishedName getImmediateSupervisor()
          Returns the person's immediate supervisor.
 java.util.Locale getLocale()
          Returns the person's preferred locale
 java.lang.String getMail()
          Returns the person's email address.
 java.util.Collection getRoles()
          Returns the person's roles.
 java.lang.String getSharedSecret()
          Returns the person's shared secret.
 int getStatus()
          Access method for the status field.
 void removeRole(DistinguishedName roleDN)
          Removes the given role from the person's role membership.
 void restore()
          Changes the Person's status to ACTIVE_STATUS.
 void setAliases(java.util.Collection aliases)
          Changes the person's aliases.
 void setCustomAttribute(java.lang.String customAttribute)
          Changes the person's custom display attribute.
 void setImmediateSupervisor(DistinguishedName supervisor)
          Changes the person's immediate supervisor.
 void setLocale(java.util.Locale loc)
          Changes the person's email address.
 void setMail(java.lang.String email)
          Changes the person's email address.
 void setRoles(java.util.Collection roles)
          Changes the person's role membership.
 void setSharedSecret(java.lang.String sharedSecret)
          Changes the person's shared secret.
 void suspend()
          Changes the Person's status to INACTIVE_STATUS.
 
Methods inherited from class com.ibm.itim.dataservices.model.DirectoryObject
addAttribute, getAccessRights, getAttribute, getAttributes, getAuthorizationOwners, getMapAttributeNames, getMappedAttributes, getName, getNameAttribute, getProfileName, getRawAttributes, getTenantDN, removeAttribute, removeAttribute, setAccessRights, setAttribute, setAttributes, setAuthorizationOwners, setProfileName, setTenantDN, toString
 
Methods inherited from class com.ibm.itim.dataservices.model.DirectoryEntry
clearChange, clearChanges, getChanges, getDistinguishedName, getLastModified, getObjectClasses
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PERSON_ATTR_NAME

public static java.lang.String PERSON_ATTR_NAME
String constant for the naming attribute name.

PERSON_ATTR_EMAIL

public static java.lang.String PERSON_ATTR_EMAIL
String constant for the email attribute name.

PERSON_ATTR_STATUS

public static java.lang.String PERSON_ATTR_STATUS
String constant for the status attribute name.

PERSON_ATTR_SUPERVISOR

public static java.lang.String PERSON_ATTR_SUPERVISOR
String constant for the supervisor attribute name.

PERSON_ATTR_SPONSOR

public static java.lang.String PERSON_ATTR_SPONSOR
String constant for the sponsor attribute name.

PERSON_ATTR_ROLE

public static java.lang.String PERSON_ATTR_ROLE
String constant for the roles attribute name.

PERSON_ATTR_ALIAS

public static java.lang.String PERSON_ATTR_ALIAS
String constant for the aliases attribute name.

PERSON_ATTR_SHAREDSECRET

public static java.lang.String PERSON_ATTR_SHAREDSECRET
String constant for the shared secret attribute name.

STATUS_ACTIVE

public static int STATUS_ACTIVE
Constant indicating "active" status

STATUS_INACTIVE

public static int STATUS_INACTIVE
Code indicating "inactive" status

PERSON_ATTR_DISPLAY

public static java.lang.String PERSON_ATTR_DISPLAY
String constant for the custom display attribute name.

PERSON_ATTR_LOCALE

public static java.lang.String PERSON_ATTR_LOCALE
String constant for the preferred locale attribute name
Constructor Detail

Person

public Person(java.lang.String profileName,
              AttributeValues attrs)
Deprecated. Use Person(String profileName) and setAttributes(attributes) instead

Constructs object with profile and attribute information. Warning: the purpose of this constructor is to provide clients with the ability to create value objects for creation in the data store. Do not use this constructor to create value objects that represent existing entities. See the PersonSearch object for achieving that.
Parameters:
profileName - Name of the profile (Employee, Contractor, System, etc.) identifying the type of this person (identity).
attributes - AttributeValues holding the attributes of the person.

Person

public Person(java.lang.String profileName)
Constructs object with profile. Warning: the purpose of this constructor is to provide clients with the ability to create value objects for creation in the data store. Do not use this constructor to create value objects that represent existing entities. See the PersonSearch object for achieving that.
Parameters:
profileName - Name of the profile (Employee, Contractor, System, etc.) identifying the type of this person (identity).
attributes - AttributeValues holding the attributes of the person.
Method Detail

getAliases

public java.util.Collection getAliases()
Returns the person's aliases.
Returns:
Collection of person' aliases (Strings).

setAliases

public void setAliases(java.util.Collection aliases)
Changes the person's aliases.
Parameters:
aliases - Collection of person's new aliases (Strings).

getMail

public java.lang.String getMail()
Returns the person's email address.
Returns:
Person's email address.

setMail

public void setMail(java.lang.String email)
Changes the person's email address.
Parameters:
email - person's new email address.

getLocale

public java.util.Locale getLocale()
Returns the person's preferred locale
Returns:
Person's preferred locale

setLocale

public void setLocale(java.util.Locale loc)
Changes the person's email address.
Parameters:
email - person's new email address.

getImmediateSupervisor

public DistinguishedName getImmediateSupervisor()
Returns the person's immediate supervisor.
Returns:
DistinguishedName of the person's immediate supervisor, null if none defined.

setImmediateSupervisor

public void setImmediateSupervisor(DistinguishedName supervisor)
Changes the person's immediate supervisor.
Parameters:
supervisor - DistinguishedName of person's new immediate supervisor, null if no supervisor is to be defined.

getStatus

public int getStatus()
Access method for the status field.
Returns:
Enumeration of the person's status, ACTIVE_STATUS, INACTIVE_STATUS.

restore

public void restore()
Changes the Person's status to ACTIVE_STATUS.

suspend

public void suspend()
Changes the Person's status to INACTIVE_STATUS.

getSharedSecret

public java.lang.String getSharedSecret()
Returns the person's shared secret.
Returns:
Person's shared secret.

setSharedSecret

public void setSharedSecret(java.lang.String sharedSecret)
Changes the person's shared secret.

getCustomAttribute

public java.lang.String getCustomAttribute()
Returns the person's custom display attribute.
Returns:
Person's custom display attribute.

setCustomAttribute

public void setCustomAttribute(java.lang.String customAttribute)
Changes the person's custom display attribute.
Parameters:
customAttribute - New value for the custom display attribute.

getRoles

public java.util.Collection getRoles()
Returns the person's roles.
Returns:
Collection of the DistinguishedNames of the person's roles).

setRoles

public void setRoles(java.util.Collection roles)
Changes the person's role membership.
Parameters:
roles - Collection of DistinguishedNames of person's roles.

addRole

public void addRole(DistinguishedName roleDN)
Adds the given role to the person's role membership.
Parameters:
roleDN - DisinguishedName of the role to add.

removeRole

public void removeRole(DistinguishedName roleDN)
Removes the given role from the person's role membership.
Parameters:
roleDN - DisinguishedName of the role to remove.