Interface ISearch

  • All Known Implementing Classes:
    AssignableDynamicGroup, BaseRole, COSTemplate, DirectCOSDefinition, DomainComponent, DynamicGroup, FilteredRole, ManagedRole, Organization, OrganizationalUnit, PeopleContainer, PersistentObject, Resource, StaticGroup, User

    public interface ISearch
    Represents 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 Detail

      • 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 filter
        resultAttributeNames - attribute name array
        searchControl - 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 template
        searchControl - search control, use default setting if searchControl == null
        Throws:
        UMSException
      • 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 is null.
        Returns:
        An search result class for reading entries.
        Throws:
        InvalidSearchFilterException
        UMSException
      • 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 template
        searchControl - 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