com.ibm.itim.apps.provisioning

Class GroupMO

  • java.lang.Object
    • com.ibm.itim.apps.provisioning.GroupMO
  • All Implemented Interfaces:
    java.io.Serializable


    public class GroupMO
    extends java.lang.Object
    implements java.io.Serializable
    Represents a managed Group object.
    Since:
    Tivoli Identity Governance 5.1
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor and Description
      GroupMO(PlatformContext platform, javax.security.auth.Subject subject, DistinguishedName name)
      Constructs the the managed object with a platform context, a subject, and the distinguished name of the object to manage.
    • Constructor Detail

      • GroupMO

        public GroupMO(PlatformContext platform,
                       javax.security.auth.Subject subject,
                       DistinguishedName name)
        Constructs the the managed object with a platform context, a subject, and the distinguished name of the object to manage.
        Parameters:
        platform - PlatformContext that holds the platform connection information.
        subject - Subject that represents the authenticated caller.
        name - DistinguishedName that identifies the container.
        Throws:
        java.lang.IllegalArgumentException - Thrown if any of the parameters is null.
    • Method Detail

      • getDistinguishedName

        public DistinguishedName getDistinguishedName()
        Returns the distinguished name of the managed object.
        Returns:
        DistinguishedName of the managed object.
      • getData

        public Group getData()
                      throws java.rmi.RemoteException,
                             ApplicationException
        Returns a current snapshot of the data that defines the managed object. This snapshot contains only the data the user is authorized to view. Attributes the user has no permission to Search will be filtered out.
        Returns:
        Group value object.
        Throws:
        java.rmi.RemoteException - Thrown if unable to communicate with platform.
        ApplicationException - Thrown if unable to retrieve data.
      • update

        public void update(Group group)
                    throws java.rmi.RemoteException,
                           AuthorizationException,
                           SchemaViolationException,
                           ApplicationException
        Updates the group with the given group value object.
        Parameters:
        group - Group value object with attributes to be updated. If the object contains additional attributes that are not part of schema, an exception will be thrown. The value of an attribute which is mapped to ITIM symantic attribute "ergroupid" or "ergroupname" cannot be updated.
        Throws:
        java.rmi.RemoteException - Thrown if unable to communicate with platform.
        AuthorizationException - Thrown if client is unauthorized to modify a group.
        SchemaViolationException - Thrown if any of the attributes in the value object violates the managed object's schema. This may be caused by an invalid attribute or if a required attribute is missing entirely.
        ApplicationException - Thrown if the group profile is invalid, the group profile does not have management feature enabled, The value of the attribute which is mapped to ITIM symantic attribute "ergroupid" or "ergroupname" has been changed, or the remote service fails to modify the group.
        java.lang.IllegalArgumentException - Thrown if group parameter is null.
      • remove

        public void remove()
                    throws java.rmi.RemoteException,
                           AuthorizationException,
                           ApplicationException
        Removes the group. If the group has members, or it is being referred by any provisioning policies, an ApplicationException will be thrown.
        Throws:
        java.rmi.RemoteException - Thrown if unable to communicate with platform.
        AuthorizationException - thrown if the user does not have the authority to remove a group.
        ApplicationException - thrown if the group profile does not have management feature enabled, the group has members, the group is referred by any provisioning policies, or remote service fails to remove the group.
      • getMembers

        public void getMembers(SearchResultsMO results,
                               java.util.Locale locale)
                        throws java.rmi.RemoteException,
                               ApplicationException
        Returns the group members. The results are returned in the SearchResultsMO object passed in from the client.
        Parameters:
        results - SearchResultsMO that holds the results of the search. The objet will be filled with Account value objects that match the given criteria. Note, if the SearchResultsMO object was constructed using a different user context, that context will be changed to match the context of this object. SearchResultsMO supports the paging and sorting.
        locale - user's locale to sort with.
        Throws:
        java.rmi.RemoteException - Thrown if unable to communicate with platform.
        ApplicationException - Thrown if unable to obtain the members. This may be caused by invalid parameters, or may be caused by the container being removed by another client previous to this call.
        java.lang.IllegalArgumentException - Thrown if results parameter is null.
      • getMembersByUserId

        public void getMembersByUserId(java.lang.String userId,
                                       SearchResultsMO results,
                                       java.util.Locale locale)
                                throws java.rmi.RemoteException,
                                       ApplicationException
        Returns the group members that match the given user ID. The results are returned in the SearchResultsMO object passed in from the client.
        Parameters:
        userId - user ID to match with. If userId is null or empty, all user IDs will be matched.
        results - SearchResultsMO that holds the results of the search. The object will be filled with Account value objects that match the given criteria. Note, if the SearchResultsMO object was constructed using a different user context, that context will be changed to match the context of this object. SearchResultsMO supports the paging and sorting.
        locale - user's locale to sort with.
        Throws:
        java.rmi.RemoteException - Thrown if unable to communicate with platform.
        ApplicationException - Thrown if unable to obtain the members. This may be caused by invalid parameters, or may be caused by the container being removed by another client previous to this call.
        java.lang.IllegalArgumentException - Thrown if results parameter is null.
      • getMembersByUserName

        public void getMembersByUserName(java.lang.String userName,
                                         SearchResultsMO results,
                                         java.util.Locale locale)
                                  throws java.rmi.RemoteException,
                                         ApplicationException
        Returns the group members that match the given user name. The results are returned in the SearchResultsMO object passed in from the client.
        Parameters:
        userName - user name to match with. If userName is null or empty, all user names will be matched.
        results - SearchResultsMO that holds the results of the search. The object will be filled with Account value objects that match the given criteria. Note, if the SearchResultsMO object was constructed using a different user context, that context will be changed to match the context of this object. SearchResultsMO supports the paging and sorting.
        locale - user's locale to sort with.
        Throws:
        java.rmi.RemoteException - Thrown if unable to communicate with platform.
        ApplicationException - Thrown if unable to obtain the members. This may be caused by invalid parameters, or may be caused by the container being removed by another client previous to this call.
        java.lang.IllegalArgumentException - Thrown if results parameter is null.
      • removeMembers

        public Request[] removeMembers(Account[] accountList,
                                       java.util.Date scheduledTime)
                                throws java.rmi.RemoteException,
                                       PartialListResultsException,
                                       ApplicationException
        Removes group membership for multiple users.
        Parameters:
        accountList - List of Account objects.
        scheduledTime - Date that holds the time the operation is to be executed.
        Returns:
        Request[] objects that represents the operation's status. If the schedule time is set for the future, then the Request's getStatus() will return the current status at that point of time.
        Throws:
        java.rmi.RemoteException - Thrown if unable to communicate with platform.
        PartialListResultsException - Thrown if the client is unauthorized to remove some of the group members. This exception will hold the results of the process ids submitted successfully and the exceptions as a result of exception.
        ApplicationException - Thrown if unable to submit the request.
        java.lang.IllegalArgumentException - Thrown if accountList is null or empty.
      • addMembers

        public Request[] addMembers(Account[] accountList,
                                    java.util.Date scheduledTime)
                             throws java.rmi.RemoteException,
                                    PartialListResultsException,
                                    ApplicationException
        Requests group membership for multiple users who have accounts on the service.
        Parameters:
        accountList - List of Account objects.
        scheduledTime - Date that holds the time the operation is to be executed.
        Returns:
        Request[] objects that represents the operation's status. If the schedule time is set for the future, then the Request's getStatus() will return the current status at that point of time.
        Throws:
        java.rmi.RemoteException - Thrown if unable to communicate with platform.
        PartialListResultsException - Thrown if the client is unauthorized to request some of the group members. This exception will hold the results of the process ids submitted successfully and the exceptions as a result of exception.
        ApplicationException - Thrown if unable to submit the request.
        java.lang.IllegalArgumentException - Thrown if accountList is null or empty.
      • getAccessInfo

        public AccessInfo getAccessInfo()
                                 throws java.rmi.RemoteException,
                                        ApplicationException
        Returns an AccessInfo object that contains the access information associated with the group.
        Returns:
        AccessInfo value object. Returns null if no access is defined for the group .
        Throws:
        java.rmi.RemoteException - Thrown if unable to communicate with platform.
        ApplicationException - Thrown if unable to retrieve data.
      • setAccessInfo

        public void setAccessInfo(AccessInfo access)
                           throws java.rmi.RemoteException,
                                  AuthorizationException,
                                  SchemaViolationException,
                                  ApplicationException
        Sets the access information of the group.
        Parameters:
        access - AccessInfo value object with changes to make.
        Throws:
        java.rmi.RemoteException - Thrown if unable to communicate with platform.
        AuthorizationException - Thrown if client is unauthorized to define access.
        SchemaViolationException - Thrown if the access name is null or empty but the access option is either AccesInfo.ACCESS_ENABLED (access enabled) or AccessInfo.COMMON_ACCESS (common access).
        ApplicationException - Thrown if unable to upate the object.
        java.lang.IllegalArgumentException - Thrown if access parameter is null.