com.ibm.itim.dataservices.model.system

Class SystemUserEntity

  • All Implemented Interfaces:
    com.ibm.itim.util.Sortable, java.io.Serializable


    public class SystemUserEntity
    extends AccountEntity
    Represents a usr of the system (platform) in the data model. Although this class name indicates it represents a user, it is really just a specialization of an account hosted on the provisioning platform.
    See Also:
    Serialized Form
    • Constructor Detail

      • SystemUserEntity

        public SystemUserEntity(SystemUser systemUser)
        Constructs with a value object.
        Parameters:
        systemUser - SystemUser object holding the attributes of the system user.
      • SystemUserEntity

        public SystemUserEntity(DirectoryObject systemUser)
        Constructs a SystemUserEntity with a DirectoryObject.
        Parameters:
        systemUser - DirectoryObject holding the attributes of the system user.
    • Method Detail

      • getRoles

        public java.util.Collection getRoles()
                                      throws ModelCommunicationException,
                                             ModelIntegrityException
        Returns the system roles (groups) the user is a member of (if any).
        Returns:
        Collection of SystemRoleEntities representing the system roles (groups) the user is a member of.
        Throws:
        ModelCommunicationException - Thrown if unable communicate with the data store.
        ModelIntegrityException - Thrown if a problem exists with the consistency of the data model preventing the evaluation of the relationship.
      • getDelegates

        public java.util.Collection getDelegates()
        Returns the delegations the user has defined. A delegation is defined by a user acting as the delegate and a time frame for the delegation (see Delegate).
        Returns:
        Collection of Delegates representing the user's delegations.
      • addDelegate

        public void addDelegate(Delegate newDelegate)
                         throws ModelCommunicationException,
                                ObjectNotFoundException
        Adds a delegation for the user. A delegation is defined by a user acting as the delegate and a time frame for the delegation (see Delegate).
        Parameters:
        newDelegate - Delegate representing the delegation.
        Throws:
        ModelCommunicationException - Thrown if unable to communicate with the data store.
        ObjectNotFoundException - Thrown if unable to locate the entity in the data store. This may be due to an invalid distinguished name, or the entity may have been removed by another client.
      • removeDelegate

        public boolean removeDelegate(Delegate removeDelegate)
                               throws ModelCommunicationException,
                                      ObjectNotFoundException
        Removes a delegation for the user.
        Parameters:
        removeDelegate - Delegate representing the delegation to remove.
        Returns:
        True if the given Delegate exists and is successfully removed.
        Throws:
        ModelCommunicationException - Thrown if unable to communicate with the data store.
        ObjectNotFoundException - Thrown if unable to locate the entity in the data store. This may be due to an invalid distinguished name, or the entity may have been removed by another client.
      • setIsDelegated

        public void setIsDelegated(boolean isDelegated)
                            throws ModelCommunicationException,
                                   ObjectNotFoundException
        Changes the current delegation flag. When set to true, the user's responsibilities are currently being delegated.
        Parameters:
        isDelegated - True if the user's responsibilities are currently delegated, false if not.
        Throws:
        ModelCommunicationException - Thrown if unable to communicate with the data store.
        ObjectNotFoundException - Thrown if unable to locate the entity in the data store. This may be due to an invalid distinguished name, or the entity may have been removed by another client.