Package com.iplanet.ums
Interface ISearch
-
- All Known Implementing Classes:
AssignableDynamicGroup,BaseRole,COSTemplate,DirectCOSDefinition,DomainComponent,DynamicGroup,FilteredRole,ManagedRole,Organization,OrganizationalUnit,PeopleContainer,PersistentObject,Resource,StaticGroup,User
public interface ISearchRepresents interface for search methods. Using ISearch, client can get children, parent for the PersistentObject. It's main purpose is to find nodes matching to the search criterial. Customized search behavior is set through SearchControl. Results are captured in SearchResults. Each result is a PersistentObject. Filter String is defined based on LDAP search filter syntax (ftp://ftp.isi.edu/in-notes/rfc2254.txt)Examples:
To modify a user's telphone number
SearchResults searchResults = organization.search( "(uid=smith)", { "telephone" }, null); if (searchResults.hasMoreElements() == true) { PersistentObject userSmith = searchResults.next(); userSmith.modify("telephone", "408-888-8888"); userSmith.save(); }To read data using VLV
SearchControl searchControl = new SearchControl(); pageSize = 20; startPos = 1; for (pageIndex = 0; pageIndex < 10; pageIndex ++) { searchControl.setVLVRange(startPos, 0, pageSize); searchControl.setSortAttributeNames( { "cn" } ); SearchResults searchResults = organization.search("(department=sun)", { "cn", "sn", "uid" }, searchControl); while (searchResults.hasMoreElements() == true) { PersistentObject user = searchResults.next(); display(user); } startPos = startPos + pageSize + 1; }- See Also:
SearchControl
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SearchResultsgetChildren(SearchTemplate template, SearchControl searchControl)Find all IDs for immediate children under current node based on search criteria specified in template, and return attributes specified there.SearchResultsgetChildren(String filter, SearchControl searchControl)Find all IDs for immediate children under current node based on search criteria specified in filter.SearchResultsgetChildren(String filter, String[] resultAttributeNames, SearchControl searchControl)Search entries on immediate children based on criteria specified in filter.GuidgetParentGuid()Search for immediate parent IDSearchResultssearch(SearchTemplate template, SearchControl searchControl)Search (subtree) entries under current node based on criteria specified in template, which also indicates which attributes to return.SearchResultssearch(String filter, SearchControl searchControl)Search (subtree) entry IDs under currrent node based on criteria specified in search filter and searchControlSearchResultssearch(String filter, String[] resultAttributeNames, SearchControl searchControl)Search (subtree) entries under current node based on criteria specified in filter.
-
-
-
Method Detail
-
getChildren
SearchResults getChildren(String filter, SearchControl searchControl) throws InvalidSearchFilterException, UMSException
Find all IDs for immediate children under current node based on search criteria specified in filter. Search behavior is controlled by searchControl.- Parameters:
filter- search filtersearchControl- search control, use default setting if searchControl == null- Throws:
InvalidSearchFilterException- if invalid search filter.UMSException- if no result matches.
-
getChildren
SearchResults getChildren(String filter, String[] resultAttributeNames, SearchControl searchControl) throws InvalidSearchFilterException, UMSException
Search entries on immediate children based on criteria specified in filter. Each result contains values for given attribute names. Search behavior is controlled by searchControl.- Parameters:
filter- search filterresultAttributeNames- attribute name arraysearchControl- search control, use default setting if searchControl == null- Throws:
InvalidSearchFilterException- if invalid search filter.UMSException- if no result matches.
-
getChildren
SearchResults getChildren(SearchTemplate template, SearchControl searchControl) throws UMSException
Find all IDs for immediate children under current node based on search criteria specified in template, and return attributes specified there. Search behavior is controlled by searchControl.- Parameters:
template- search templatesearchControl- search control, use default setting if searchControl == null- Throws:
UMSException
-
search
SearchResults search(String filter, SearchControl searchControl) throws InvalidSearchFilterException, UMSException
Search (subtree) entry IDs under currrent node based on criteria specified in search filter and searchControl- Parameters:
filter- search filtersearchControl- search control, use default setting if searchControl == null- Returns:
- An search result class for reading IDs.
- Throws:
UMSExceptionInvalidSearchFilterException- if search filter is invalid.UMSException- if no result matches.
-
search
SearchResults search(String filter, String[] resultAttributeNames, SearchControl searchControl) throws InvalidSearchFilterException, UMSException
Search (subtree) entries under current node based on criteria specified in filter. Search behavior is controlled by searchControl. Each result contains values for given attribute names.- Parameters:
filter- Search filter.resultAttributeNames- Attribute name array for retrieving.searchControl- Search control, use default setting if searchControl isnull.- Returns:
- An search result class for reading entries.
- Throws:
InvalidSearchFilterExceptionUMSException
-
search
SearchResults search(SearchTemplate template, SearchControl searchControl) throws UMSException
Search (subtree) entries under current node based on criteria specified in template, which also indicates which attributes to return. Search behavior is controlled by searchControl.- Parameters:
template- search templatesearchControl- search control, use default setting if searchControl == null- Throws:
UMSException
-
getParentGuid
Guid getParentGuid()
Search for immediate parent ID- Returns:
- null if current node is root
-
-