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. Provides a tree like view of an OrgChart by allowing traversal through an OrgChart's nodes (containers) through calls to getParent() and getChildren().
    • 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.
      • move

        public long move(OrganizationalContainer c,
                         OrganizationalContainer parent,
                         java.util.Date effectiveDate)
                  throws java.rmi.RemoteException,
                         ApplicationException,
                         AuthorizationException
        Moves the managed object from the current parent container to a new parent. The move will not be allowed if the selected managed object has any services/ policies attached to it. The selected container must only have persons or roles associated with it and movement is allowed only within the the same organization.
        Throws:
        java.rmi.RemoteException - Thrown if unable to communicate with platform.
        AuthorizationException - Thrown if client is unauthorized to move the container.
        ApplicationException - Thrown if unable to move 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