com.ibm.itim.apps.provisioning
Class GroupMO

java.lang.Object
  extended by 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 Manager 5.1
See Also:
Serialized Form

Constructor Summary
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.
 
Method Summary
 Request[] addMembers(Account[] accountList, java.util.Date scheduledTime)
          Requests group membership for multiple users who have accounts on the service.
 void clearAccess()
          Clears the access information of the group.
 AccessInfo getAccessInfo()
          Returns an AccessInfo object that contains the access information associated with the group.
 Group getData()
          Returns a current snapshot of the data that defines the managed object.
 DistinguishedName getDistinguishedName()
          Returns the distinguished name of the managed object.
 void getMembers(SearchResultsMO results, java.util.Locale locale)
          Returns the group members.
 void getMembersByUserId(java.lang.String userId, SearchResultsMO results, java.util.Locale locale)
          Returns the group members that match the given user ID.
 void getMembersByUserName(java.lang.String userName, SearchResultsMO results, java.util.Locale locale)
          Returns the group members that match the given user name.
 void remove()
          Removes the group.
 Request[] removeMembers(Account[] accountList, java.util.Date scheduledTime)
          Removes group membership for multiple users.
 void setAccessInfo(AccessInfo access)
          Sets the access information of the group.
 void update(Group group)
          Updates the group with the given group value object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.

clearAccess

public void clearAccess()
                 throws java.rmi.RemoteException,
                        AuthorizationException,
                        ApplicationException
Clears the access information of the group.

Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to define access.
ApplicationException - Thrown if unable to upate the object.

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.


IBM Security Identity Manager 6.0.0
© Copyright International Business Machines Corporation 2007, 2012. All rights reserved. US Government Users Restricited Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.