### *** This interface provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.services.information.metadata

# Interface PersonInterface

All Superinterfaces:
  `IdentityInterface`, `MetadataInterface`, `PublicObjectInterface`, `Remote`

All Known Implementing Classes:
  `AllUsersIdentity`, `AuthenticatedIdentity`, `DavPerson`, `PropertyIdentity`, `ReferenceIdentity`, `SelfIdentity`, `UnauthenticatedIdentity`

@SASScope("ALL") @BinaryCompatibilityOnly public interface PersonInterface extends IdentityInterface
This is a generic interface for interacting with a repository entry that represents a person.

Since:
  1.0

- ## Field Summary

  ### Fields inherited from interface com.sas.services.information.metadata.MetadataInterface

  `METADATA_STATE_DELETED, METADATA_STATE_DESTROYED, METADATA_STATE_NEW, METADATA_STATE_NORMAL, PERMISSION_READMETADATA, PERMISSION_WRITEMETADATA`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addEmail(EmailInterface email)`
  Add a new email to a user's list of email instances.
  `void`
  `addEmailAddress(String address)`
  Deprecated.
  Use addEmail( EmailInterface email ) instead
  `void`
  `addLocation(LocationInterface location)`
  Add a location to the user's list of locations.
  `void`
  `addPhoneNumber(PhoneNumberInterface phone)`
  Add a phone number to the user's list.
  `void`
  `deleteInternalAccount()`
  Delete Internal Account
  `List<MetadataInterface>`
  `getCreatedObjects()`
  Returns the list of objects this person has created.
  `List`
  `getEmailAddresses()`
  Deprecated.
  Use getEmails() instead
  `List<EmailInterface>`
  `getEmails()`
  Get the user's email instances
  `List`
  `getGroups()`
  Get a list of the groups the person is a member of.
  `InternalLoginUserInfo`
  `getInternalAccountOptions()`
  Return Internal Account (InternalLoginUserInfo) Options for this Person
  `List`
  `getLocations()`
  Return the list of locations for the user.
  `List<MetadataInterface>`
  `getModifiedObjects()`
  Returns the list of objects this person has modified.
  `List`
  `getPhoneNumbers()`
  Get the list of phone numbers for the user.
  `List`
  `getSubscribers()`
  Get a List of the subscriber identities owned by this Person.
  `String`
  `getTitle()`
  Get the Title attribute.
  `void`
  `removeEmail(EmailInterface email)`
  Remove an email from a user's list of email instances.
  `void`
  `removeEmailAddress(String address)`
  Deprecated.
  Use removeEmail( EmailInterface email ) instead
  `void`
  `removeLocation(LocationInterface location)`
  Remove a location from the user's list of lcoations.
  `void`
  `removePhoneNumber(PhoneNumberInterface phone)`
  Remove a phone number from the user's list.
  `void`
  `setInternalAccountOptions(InternalLoginUserInfo intrlLgnUsrInfo)`
  Set Internal Account (InternalLoginUserInfo) Options for this Person
  `void`
  `setInternalAccountPassword(String password)`
  Set Internal Account Password
  `void`
  `setTitle(String title)`
  Set the Person's Title.

  ### Methods inherited from interface com.sas.services.information.metadata.IdentityInterface

  `addExternalIdentity, addLogin, getDisplayName, getEffectiveDispayName, getEffectiveDisplayName, getExternalIdentities, getIdentityGroups, getIdentityMembershipLevels, getIdentityType, getLogins, getUserIds, removeExternalIdentity, removeLogin, setDisplayName`

  ### Methods inherited from interface com.sas.services.information.metadata.MetadataInterface

  `add, addAccessControl, addAttribute, addAttributes, addDocument, addExtension, addGroup, addImplementor, addKeyword, addNoteTextStore, addNoteTextStore, addObjectProperty, addObjectProperty, addPermissions, addPrompt, addPropertySet, addRemark, addResponsibleParty, addTransactionListener, addUsedByPrototype, checkin, checkout, commit, copyTo, countAssociatedObjects, delete, deleteAttribute, deleteAttributes, destroy, getAccessControls, getAttribute, getAttributes, getAuthorizationUtil, getCreateDate, getCreatedBy, getDescription, getDocuments, getEntityKey, getEntityURL, getExtensions, getGUID, getIdentities, getImplementors, getKeywords, getLockedBy, getModifiedBy, getModifyDate, getNoteTextStore, getNoteTextStores, getNoteTextStoresByRole, getObjectProperties, getParent, getParentPath, getParents, getPath, getPaths, getPermission, getPermissions, getPermissions, getPreviousVersionNames, getPrimaryPropertyGroup, getPrompt, getPrompts, getPropertyBag, getPropertySets, getRemarksList, getReposId, getRepository, getRepositoryEntity, getRepositoryName, getReposKey, getResponsibleParties, getState, getTrackingId, getType, getUsageVersion, getUsedByPrototypes, getUsingPrototype, getVersion, isAuthorized, isCompatible, isDeleted, isDestroyed, isObjectAlive, isReadCompatible, mapNameToFilesystem, mapUrlToFilesystem, moveTo, newServiceObject, refresh, removeAccessControl, removeDocument, removeExtension, removeGroup, removeImplementor, removeKeyword, removeNoteTextStore, removeObjectProperty, removePermissions, removePrompt, removePropertySet, removeResponsibleParty, removeResponsiblePartyByIdentity, removeUsedByPrototype, rollback, setAttribute, setAttributes, setDeleted, setDescription, setDocuments, setExtensions, setGroups, setGUID, setKeywords, setName, setNoteTextStores, setObjectProperties, setPermission, setPrimaryPropertyGroup, setPrompt, setPrompts, setRemarksList, setRepository, setUsingPrototype, startTransaction, toByteArray, transactionEvent, uncheckout, update, updateFromBag, version`

  ### Methods inherited from interface com.sas.services.information.publicobject.PublicObjectInterface

  `addProcessorInterface, getContainer, getIdentifier, getName, getObjectURI, getPathUrl, getProcessorInterface, getTypeDescriptor`

- ## Method Details

  - ### getTitle

    String getTitle() throws ServiceException, RemoteException
    Get the Title attribute.
    Returns:
      The value of the Title attribute, or null if unset.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setTitle

    void setTitle(String title) throws ServiceException, RemoteException
    Set the Person's Title.
    Parameters:
      `title` - The new Title for the person.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getEmailAddresses

    @Deprecated List getEmailAddresses() throws ServiceException, RemoteException
    Deprecated.
    Use getEmails() instead
    Get the user email addresses.

    Returns:
      A List of strings representing the user's email addresses.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### addEmailAddress

    @Deprecated void addEmailAddress(String address) throws ServiceException, RemoteException
    Deprecated.
    Use addEmail( EmailInterface email ) instead
    Add a new email address to a user's email address list.

    Parameters:
      `address` - The new address to add.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### removeEmailAddress

    @Deprecated void removeEmailAddress(String address) throws ServiceException, RemoteException
    Deprecated.
    Use removeEmail( EmailInterface email ) instead
    Remove an address from a user's list of email addresses.

    Parameters:
      `address` - The address to remove from the user's email list.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getEmails

    List<EmailInterface> getEmails() throws ServiceException, RemoteException
    Get the user's email instances

    Returns:
      A List containing the user's email instances.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### addEmail

    void addEmail(EmailInterface email) throws ServiceException, RemoteException
    Add a new email to a user's list of email instances.

    Parameters:
      `address` - The new EmailInterface instance to add.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### removeEmail

    void removeEmail(EmailInterface email) throws ServiceException, RemoteException
    Remove an email from a user's list of email instances.

    Parameters:
      `address` - The address to remove from the user's email list.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getGroups

    List getGroups() throws ServiceException, RemoteException
    Get a list of the groups the person is a member of.

    Specified by:
      `getGroups` in interface `MetadataInterface`
    Returns:
      A List of GroupInterface objects that represent the groups this person is a member of.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getSubscribers

    List getSubscribers() throws ServiceException, RemoteException
    Get a List of the subscriber identities owned by this Person.

    Returns:
      a List of SubscriberInterface objects.
    Throws:
      `ServiceException` - if a repository error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getLocations

    List getLocations() throws ServiceException, RemoteException
    Return the list of locations for the user. These may be valid addresses, but the description of Location in the metadata doesn't say that, so it could be just a country, etc.
    Returns:
      The List of locations defined for the user.
    Throws:
      `ServiceException` - If a metadata error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addLocation

    void addLocation(LocationInterface location) throws ServiceException, RemoteException
    Add a location to the user's list of locations.
    Parameters:
      `location` - The new location to add.
    Throws:
      `ServiceException` - If a metadata error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeLocation

    void removeLocation(LocationInterface location) throws ServiceException, RemoteException
    Remove a location from the user's list of lcoations.
    Parameters:
      `location` - The location to remove.
    Throws:
      `ServiceException` - If a metadata error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getPhoneNumbers

    List getPhoneNumbers() throws ServiceException, RemoteException
    Get the list of phone numbers for the user.
    Returns:
      The List of phone numbers defined for the user.
    Throws:
      `ServiceException` - If a metadata error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addPhoneNumber

    void addPhoneNumber(PhoneNumberInterface phone) throws ServiceException, RemoteException
    Add a phone number to the user's list.
    Parameters:
      `phone` - The new phone number to add.
    Throws:
      `ServiceException` - If a metadata error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removePhoneNumber

    void removePhoneNumber(PhoneNumberInterface phone) throws ServiceException, RemoteException
    Remove a phone number from the user's list.
    Parameters:
      `phone` - The phone number to remove.
    Throws:
      `ServiceException` - If a metadata error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setInternalAccountPassword

    void setInternalAccountPassword(String password) throws ServiceException, RemoteException
    Set Internal Account Password
    Parameters:
      `password` - The password (clear text or encoded) to be set for this Person
    Throws:
      `ServiceException` - If a metadata error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### deleteInternalAccount

    void deleteInternalAccount() throws ServiceException, RemoteException
    Delete Internal Account
    Throws:
      `ServiceException` - If a metadata error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getInternalAccountOptions

    InternalLoginUserInfo getInternalAccountOptions() throws ServiceException, RemoteException
    Return Internal Account (InternalLoginUserInfo) Options for this Person
    Throws:
      `ServiceException` - If a metadata error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setInternalAccountOptions

    void setInternalAccountOptions(InternalLoginUserInfo intrlLgnUsrInfo) throws ServiceException, RemoteException
    Set Internal Account (InternalLoginUserInfo) Options for this Person
    Parameters:
      `phone` - The InternalLoginUserInfo object containing the options to set for this InternalAccount
    Throws:
      `ServiceException` - If a metadata error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getCreatedObjects

    List<MetadataInterface> getCreatedObjects() throws ServiceException, RemoteException
    Returns the list of objects this person has created.

    Note, this can potentially be a fairly expensive request depending on how many objects the user has created.

    Returns:
      list of created objects
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getModifiedObjects

    List<MetadataInterface> getModifiedObjects() throws ServiceException, RemoteException
    Returns the list of objects this person has modified.

    Note, this can potentially be a fairly expensive request depending on how many objects the user has modified.

    Returns:
      list of modified objects
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.