com.ibm.itim.apps.identity
Class ContainerManager
java.lang.Object
|
+--com.ibm.itim.apps.identity.ContainerManager
- public class ContainerManager
- extends java.lang.Object
Provides aggregate container, or org chart, management capabilities. These
capabilities include the creation of containers within the org chart in the
provisioning platform.
- See Also:
OrganizationalContainerMO
Constructor Summary |
ContainerManager(PlatformContext platform,
javax.security.auth.Subject subject)
Constructs the manager with a platform context and a subject. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ContainerManager
public ContainerManager(PlatformContext platform,
javax.security.auth.Subject subject)
- Constructs the manager with a platform context and a subject.
- Parameters:
platform
- PlatformContext holding platform connection information.subject
- Subject representing the authenticated caller.
createContainer
public OrganizationalContainerMO createContainer(OrganizationalContainerMO container,
OrganizationalContainer object)
throws java.rmi.RemoteException,
AuthorizationException,
SchemaViolationException,
ApplicationException
- Creates a container in the provisioning platform with the specified
attributes within the given parent container.
- Parameters:
container
- OrganizationalContainerMO within which the the
new container will be placed.object
- OrganizationalContainer value object defining the
attributes the container will have.- Returns:
- OrganizationalContainerMO representing the successfully created
container.
- Throws:
java.rmi.RemoteException
- Thrown if unable to communicate with platform.AuthorizationException
- Thrown if client is unauthorized to
create the container in the given
container.SchemaViolationException
- Thrown if any of the attributes
in the value object are violate the
managed object's schema. This
may be caused by an invalid attribute
or if a required attribute is missing
entirely.ApplicationException
- Thrown if unable to create the container.
This may possibly be caused by
the parent container being removed by
another client previous to this call.
getRoot
public OrganizationalContainerMO getRoot()
throws java.rmi.RemoteException,
ApplicationException
- Returns the root of the organizational tree. The root is not an
organization since the platform can support multiple organizations. It
is, instead, the node above the organization. It therefore has no
real significance in terms of attributes, operations, and
relationships. It's purpose is to provide context for searches where
a sub-container, such as an organization or location, is not known
or needed. Note, this method should only be used in a single-tenant
deployment.
- Returns:
- OrganizationalContainerMO representing the root node of the org
tree.
- Throws:
java.rmi.RemoteException
- Thrown if unable to communicate with platform.ApplicationException
- Thrown if unable to obtain the root.
getRoot
public OrganizationalContainerMO getRoot(java.lang.String tenantID)
throws java.rmi.RemoteException,
ApplicationException
- In a multi-tenant deployment, returns the root of the organizational
tree for the given tenant. The root is not an organization since the
platform can support multiple organizations within a tenant. It
is, instead, the node above the organization. It therefore has no
real significance in terms of attributes, operations, and
relationships. It's purpose is to provide context for searches where
a sub-container, such as an organization or location, is not known
or needed.
- Returns:
- OrganizationalContainerMO representing the root node of the org
tree.
- Throws:
java.rmi.RemoteException
- Thrown if unable to communicate with platform.ApplicationException
- Thrown if unable to obtain the root.
This may be caused by the tenantID being
invalid.
getContainers
public java.util.Collection getContainers(java.lang.String profileName,
java.lang.String name,
OrganizationalContainerMO parent)
throws java.rmi.RemoteException,
ApplicationException
- Returns the container(s) with the name within the given parent container.
Note, if the client is unauthorized to view (search) a container that
matches this criteria, it will be filtered out of the return list and no
AuthorizationException will be thrown.
- Parameters:
profileName
- String profile name of container to search to return.name
- Name of the container(s) to return.parent
- OrganizationalContainerMO representing the parent container
to scope the search. In a single-tenant deployment, null
can be specified to indicate the entire tree should be
searched. In a multi-tenant deployment, an
OrganizationalContainerMO object must be provided that
represents the root of the tenant.- Returns:
- Collection of OrganizationalContainerMO's representing the
matching containers.
- Throws:
java.rmi.RemoteException
- Thrown if unable to communicate with platform.ApplicationException
- Thrown if unable to obtain the
containers. This may possibly
be caused by the parent container being
removed by another client previous to
this call.
getContainers
public java.util.Collection getContainers(OrganizationalContainerMO parent,
java.lang.String attributeName,
java.lang.Object attributeValue)
throws java.rmi.RemoteException,
ApplicationException
- Returns the container(s) matching the given attribute within the given
parent container. Note, if the client is unauthorized to view (search)
a container that matches this criteria, it will be filtered out of the
return list and no AuthorizationException will be thrown.
- Parameters:
parent
- OrganizationalContainerMO representing the parent container
to scope the search. In a single-tenant deployment, null
can be specified to indicate the entire tree should be
searched. In a multi-tenant deployment, an
OrganizationalContainerMO object must be provided that
represents the root of the tenant.attributeName
- Name of attribute to match with.attributeValue
- Value of the attribute to match with. A * can be
used as the first and/or last character of a
String value if a "contains" expression is wished.- Returns:
- Collection of OrganizationalContainerMO's representing the
matching containers.
- Throws:
java.rmi.RemoteException
- Thrown if unable to communicate with platform.ApplicationException
- Thrown if unable to obtain the
containers. This may possibly
be caused by the parent container being
removed by another client previous to
this call.