Interface SubjectSearchSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession, SubjectQuerySession

public interface SubjectSearchSession extends SubjectQuerySession

This session provides methods for searching Subject objects. The search query is constructed using the SubjectQuery. The subject record Type also specifies the record for the subject query.

getSubjectsByQuery() is the basic search method and returns a list of Subjects. A more advanced search may be performed with getSubjectsBySearch().It accepts a SubjectSearch in addition to the query for the purpose of specifying additional options affecting the entire search, such as ordering. getSubjectsBySearch() returns a SubjectSearchResults that can be used to access the resulting SubjectList or be used to perform a search within the result set through SubjectSearch.

This session defines views that offer differing behaviors for searching.

  • federated ontology view: searches include subjects in ontologies of which this ontology is an ancestor in the ontology hierarchy
  • isolated ontology view: searches are restricted to subjects in this ontology

Subjects may have a query record indicated by their respective record types. The query record is accessed via the SubjectQuery.

  • Method Details

    • getSubjectSearch

      SubjectSearch getSubjectSearch()
      Gets a subject search.
      Returns:
      the subject search
      Compliance:
      mandatory - This method must be implemented.
    • getSubjectSearchOrder

      SubjectSearchOrder getSubjectSearchOrder()
      Gets a subject search order. The SubjectSearchOrder is supplied to a SubjectSearch to specify the ordering of results.
      Returns:
      the subject search order
      Compliance:
      mandatory - This method must be implemented.
    • getSubjectsBySearch

      SubjectSearchResults getSubjectsBySearch(SubjectQuery subjectQuery, SubjectSearch subjectSearch) throws OperationFailedException, PermissionDeniedException
      Gets the search results matching the given search query using the given search.
      Parameters:
      subjectQuery - the subject query
      subjectSearch - the subject search
      Returns:
      the subject search results
      Throws:
      NullArgumentException - subjectQuery or subjectSearch is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - subjectSearch or subjectQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getSubjectQueryFromInspector

      SubjectQuery getSubjectQueryFromInspector(SubjectQueryInspector subjectQueryInspector)
      Gets a subject query from an inspector. The inspector is available from a SubjecttSearchResults.
      Parameters:
      subjectQueryInspector - a subject query inspector
      Returns:
      the subject query
      Throws:
      NullArgumentException - subjectQueryInspector is null
      UnsupportedException - subjectQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.