com.ibm.itim.dataservices.model.domain
Class DynamicRoleSearch
java.lang.Object
|
+--com.ibm.itim.dataservices.model.domain.DynamicRoleSearch
- public class DynamicRoleSearch
- extends java.lang.Object
Class that provides an interface for searching for dynamic roles. This
interface is supplied to clients so that they can search in a more direct
manner without having to traverse data model relationships to retrieve roles.
- See Also:
DynamicRoleEntity
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DynamicRoleSearch
public DynamicRoleSearch()
- Default constructor.
lookup
public DynamicRoleEntity lookup(DistinguishedName dn)
throws ModelCommunicationException,
ObjectNotFoundException
- Retrieves a dynamic role from the data store with the given
distinguished name.
- Parameters:
dn
- DistinguishedName of the dynamic role.- Returns:
- DynamicRoleEntity with the corresponding distinguished name.
- Throws:
ModelCommunicationException
- Thrown if unable to communicate
with the data store.ObjectNotFoundException
- Thrown if unable to locate the
entity in the data store. This may be due to an invalid
distinguished name, or the entity may have been removed by
another client.
searchByFilter
public SearchResults searchByFilter(OrganizationalContainerEntity searchContext,
java.lang.String filter,
SearchParameters params)
throws ModelCommunicationException,
ObjectNotFoundException
- Searches for dynamic roles that meet the criteria defined within the
given filter. This search is performed as a raw search against the data
store without any semantic mapping.
- Parameters:
searchContext
- OrganizationalContainerEntity which is to be used
as the base context to search from.filter
- Filter that defines the criteria for returned
DynamicRoleEntities to meet. The filter must be in the
format defined by RFC2254.params
- SearchParameters that provide additional context for
how the search should be performed.
If the search scope is ONELEVEL_SCOPE, the search is
limited only to the dynamic roles belong to the passing
parent (searchContext.last()). Otherwise, the whole
organizational logical subtree will be searched.- Returns:
- SearchResults holding DynamicRoleEntities for all dynamic roles that
meet the search criteria.
- Throws:
ModelCommunicationException
- Thrown if unable to communicate
with the data store.ObjectNotFoundException
- Thrown if unable to locate the
specified container as a search base. This may be due to the
container being removed by another client.
searchByFilter
public SearchResults searchByFilter(CompoundDN searchContext,
java.lang.String filter,
SearchParameters params)
throws ModelCommunicationException,
ObjectNotFoundException
- Searches for dynamic roles that meet the criteria defined within the
given filter. This search is performed as a raw search against the data
store without any semantic mapping.
- Parameters:
searchContext
- CompoundDN that defines the base of the search.
At least one (1) element and at most three (3)
are expected:
- searchContext.elements[0] must contain
the tenant DN
- searchContext.elements[1] may contain
the organization DN
- searchContext.elements[2] may contain
the parent DN (optional)
An element cannot be skipped. For example, you can not pass the
parent DN without passing the organization DN.filter
- Filter that defines the criteria for returned
DynamicRoleEntities to meet. The filter must be in the
format defined by RFC2254.params
- SearchParameters that provide additional context for
how the search should be performed.
If the search scope is ONELEVEL_SCOPE, the search is
limited only to the dynamic roles belong to the passing
parent (searchContext.last()). Otherwise, the whole
organizational logical subtree will be searched.- Returns:
- SearchResults holding DynamicRoleEntities for all dynamic roles that
meet the search criteria.
- Throws:
ModelCommunicationException
- Thrown if unable to communicate
with the data store.ObjectNotFoundException
- Thrown if unable to locate the
specified container as a search base. This may be due to the
container being removed by another client.