Interface PersonSearchSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession, PersonQuerySession

public interface PersonSearchSession extends PersonQuerySession

This session provides methods for searching Person objects. The search query is constructed using the PersonQuery. The person record Type also specifies the record for the person query.

getPersonsByQuery() is the basic search method and returns a list of Person elements. A more advanced search may be performed with getPersonsBySearch(). It accepts a PersonSearch in addition to the query for the purpose of specifying additional options affecting the entire search, such as ordering. getPersonsBySearch() returns a PersonSearchResults that can be used to access the resulting PersonList or be used to perform a search within the result set through PersonSearch.

This session defines views that offer differing behaviors for searching.

  • federated realm view: searches include persons in realms of which this realm is an ancestor in the realm hierarchy
  • isolated realm view: searches are restricted to persons in this realm

Persons may have a query record indicated by their respective record types. The query record is accessed via the PersonQuery. The returns in this session may not be cast directly to these interfaces.

  • Method Details

    • getPersonSearch

      PersonSearch getPersonSearch()
      Gets a person search.
      Returns:
      the person search
      Compliance:
      mandatory - This method must be implemented.
    • getPersonSearchOrder

      PersonSearchOrder getPersonSearchOrder()
      Gets a person search order. The PersonSearchOrder is supplied to a PersonSearch to specify the ordering of results.
      Returns:
      the person search order
      Compliance:
      mandatory - This method must be implemented.
    • getPersonsBySearch

      PersonSearchResults getPersonsBySearch(PersonQuery personQuery, PersonSearch personSearch) throws OperationFailedException, PermissionDeniedException
      Gets the search results matching the given search.
      Parameters:
      personQuery - the person query
      personSearch - the person search
      Returns:
      the search results
      Throws:
      NullArgumentException - personQuery or personSearch is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - personQuery or personSearch is not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getPersonQueryFromInspector

      PersonQuery getPersonQueryFromInspector(PersonQueryInspector personQueryInspector)
      Gets a person query from an inspector. The inspector is available from a PersonSearchResults.
      Parameters:
      personQueryInspector - a person query inspector
      Returns:
      the person query
      Throws:
      NullArgumentException - personQueryInspector is null
      UnsupportedException - personQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.