com.ibm.itim.apps.identity
Class OrganizationalContainerMO

java.lang.Object
  extended by com.ibm.itim.apps.identity.OrganizationalContainerMO

public class OrganizationalContainerMO
extends java.lang.Object

Managed object representing an organizational container. Provides a tree like view of an OrgChart by allowing traversal through an OrgChart's nodes (containers) through calls to getParent() and getChildren().


Constructor Summary
OrganizationalContainerMO(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.
OrganizationalContainerMO(PlatformContext platform, javax.security.auth.Subject subject, DistinguishedName name, boolean isTenantMO)
          Constructs the the managed object with a platform context, a subject, and the distinguished name of the object to manage.
 
Method Summary
 java.util.Collection getChildren(java.lang.Class childClass)
          Returns the children of the container of the specified type, such as person, service, etc.
 OrganizationalContainer getData()
          Returns a current snapshot of the data defining the provisionng object.
 DistinguishedName getDistinguishedName()
          Returns the distinguished name of the managed object
 OrganizationalContainerMO getParent()
          Returns the current parent container in the tree or null if not found or the container is the root container
 OrganizationalContainerMO getParentOrganization()
          Returns the parent organization container of this container in the tree.
 PersonMO getSupervisor()
          Returns the container's supervisor (if any) and NULL of not found.
 boolean isTenant()
          Return a boolean indicating whether or not this OrganizationalContainerMO represents the tenant
 void remove()
          Removes the managed object from the provisioning platform.
 void update(OrganizationalContainer c)
          Updates the managed object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OrganizationalContainerMO

public OrganizationalContainerMO(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 holding platform connection information.
subject - Subject representing the authenticated caller.
name - DistinguishedName identifying the container.

OrganizationalContainerMO

public OrganizationalContainerMO(PlatformContext platform,
                                 javax.security.auth.Subject subject,
                                 DistinguishedName name,
                                 boolean isTenantMO)
Constructs the the managed object with a platform context, a subject, and the distinguished name of the object to manage.

Parameters:
platform - PlatformContext holding platform connection information.
subject - Subject representing the authenticated caller.
name - DistinguishedName identifying the container.
isTenantMO - boolean flag to indicate whether or not this OrganizationalContainerMO represents the tenant node. If isTenantMO == true, OrganizationalContainerMO.getData() returns null.
Method Detail

getDistinguishedName

public DistinguishedName getDistinguishedName()
Returns the distinguished name of the managed object

Returns:
DistinguishedName of the managed object.

getData

public OrganizationalContainer getData()
                                throws java.rmi.RemoteException,
                                       ApplicationException
Returns a current snapshot of the data defining the provisionng object.

Returns:
OrganizationalContainer object holding attribute information or NULL if the container is root node of the org tree, the node above the organization.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
ApplicationException - Thrown if unable to retrieve data.

getParent

public OrganizationalContainerMO getParent()
                                    throws java.rmi.RemoteException,
                                           ApplicationException
Returns the current parent container in the tree or null if not found or the container is the root container

Returns:
OrganizationalContainerMO representing the parent container.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
ApplicationException - Thrown if unable to retrieve parent.

getParentOrganization

public OrganizationalContainerMO getParentOrganization()
                                                throws java.rmi.RemoteException,
                                                       ApplicationException
Returns the parent organization container of this container in the tree.

Returns:
OrganizationalContainerMO representing the parent organization container.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
ApplicationException - Thrown if unable to retrieve parent.

remove

public void remove()
            throws java.rmi.RemoteException,
                   ApplicationException,
                   AuthorizationException
Removes the managed object from the provisioning platform. The removal of the container will not be allowed if any children are present. They must all be removed previous to this call.

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

update

public void update(OrganizationalContainer c)
            throws java.rmi.RemoteException,
                   AuthorizationException,
                   SchemaViolationException,
                   ApplicationException
Updates the managed object. An OrganizationalContainer value object is provided with the changes to make.

Parameters:
c - OrganizationalContainer value object with changes to make.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to change the container. Note, even if only one of the attributes being changed is not writeable for the client, the entire request will fail and this exception will be thrown.
SchemaViolationException - Thrown if any of the attributes in the value object violate the managed object's schema.
ApplicationException - Thrown if unable to upate the object. This may possibly be caused by the container being removed by another client previous to this call.

getSupervisor

public PersonMO getSupervisor()
                       throws java.rmi.RemoteException,
                              AuthorizationException,
                              ApplicationException
Returns the container's supervisor (if any) and NULL of not found.

Returns:
PersonMO representing the container's supervisor, null if no supervisor is defined.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to view the supervisor of the container.
ApplicationException - Thrown if unable to retrieve the container's supervisor. This may possibly be caused by the container being removed by another client previous to this call.

getChildren

public java.util.Collection getChildren(java.lang.Class childClass)
                                 throws java.rmi.RemoteException,
                                        AuthorizationException,
                                        ApplicationException
Returns the children of the container of the specified type, such as person, service, etc.

Parameters:
childClass - Class object representing the type of children to return (may be one of PersonMO, ServiceMO, ContainerMO or RoleMO).
Returns:
Collection of objects of the given Class that are children of the container.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to view (search) the children of the specified type.
ApplicationException - Thrown if unable to retrieve the container's children. This may possibly be caused by the container being removed by another client previous to this call, or the Class provided being unsupported.

isTenant

public boolean isTenant()
Return a boolean indicating whether or not this OrganizationalContainerMO represents the tenant



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.