com.ibm.itim.apps.identity
Class OrganizationalContainerMO

java.lang.Object
  |
  +--com.ibm.itim.apps.identity.OrganizationalContainerMO

public class OrganizationalContainerMO
extends java.lang.Object

Managed object representing an organizational container. An organizational container defines one branch in a recursive tree.


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.
 PersonMO getSupervisor()
          Returns the container's supervisor (if any).
 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.
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.
Returns:
OrganizationalContainerMO representing the parent 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 service.
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 are 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).
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 (i.e., PersonMO, ServiceMO, 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.