Use the search method to find entries in the profile repositories
that match the search criteria.
Purpose
The search SPI searches the profile
repository to get the entities which matches the search expression.
A
list of properties that are returned from the search is included in
the SearchControl in the input data graph. A PageControl and, or,
or both a SortControl can also be included in the input data graph.
SearchControl in the input data graph includes the search expression
string. The implementation class of the Repository API needs to parse
the XPath based search expression string.
Note: If an adapter does
not support sorting. The SortControl in the input data object is ignored.
The
method returns a data graph that includes all the entities that match
the search expression, if the paging function is not used. For paging
function, a PageResponseControl also needs to be included in the output
data graph. If the number of the entities are greater than the page
size, a cookie has to be returned from PageResponseControl so that
it can be used in subsequent calls. If the page size is set to 0 in
a subsequent call for paging search, it means the caller does not
want the rest of the search results. The adapter can perform a data
clean up, such as purging the cache, if necessary.
Note: Virtual member
manager does not utilize the paging function of an underlying datastore.
The
uniqueName of a returned entity is the virtual member manager uniqueName,
which is not always the same as the unique name in the data store.
The adapter transfers the unique name of the data store to the virtual
member manager uniqueName according to the configuration information
of the adapter.
Parameters
- root
- Specifies the root data object containing the controls related
to the search.
Returns
The root data object containing the
entities matching the search expression.
Signature
DataObject search(DataObject root)
throws WIMException