Interface CompositionQuerySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
All Known Subinterfaces:
CompositionSearchSession

public interface CompositionQuerySession extends OsidSession

This session provides methods for searching among Composition objects. The search query is constructed using the CompositionQuery .

This session defines views that offer differing behaviors when searching.

  • federated repository view: searches include compositions in repositories of which this repository is an ancestor in the repository hierarchy
  • isolated repository view: searches are restricted to subjects in this repository
  • sequestered composition viiew: All composition methods suppress sequestered compositions.
  • unsequestered composition view: All composition methods return all compositions.

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

  • Method Details

    • getRepositoryId

      Id getRepositoryId()
      Gets the Repository Id associated with this session.
      Returns:
      the Repository Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getRepository

      Gets the Repository associated with this session.
      Returns:
      the Repository associated with this session
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSearchCompositions

      boolean canSearchCompositions()
      Tests if this user can perform Composition searches. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer search operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedRepositoryView

      void useFederatedRepositoryView()
      Federates the view for methods in this session. A federated view will include compositions in repositories which are children of this repository in the repository hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedRepositoryView

      void useIsolatedRepositoryView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this repository only.
      Compliance:
      mandatory - This method is must be implemented.
    • useSequesteredCompositionView

      void useSequesteredCompositionView()
      The methods in this session omit sequestered compositions.
      Compliance:
      mandatory - This method is must be implemented.
    • useUnsequesteredCompositionView

      void useUnsequesteredCompositionView()
      The methods in this session return all compositions, including sequestered compositions.
      Compliance:
      mandatory - This method is must be implemented.
    • getCompositionQuery

      CompositionQuery getCompositionQuery()
      Gets a composition query.
      Returns:
      the composition query
      Compliance:
      mandatory - This method must be implemented.
    • getCompositionsByQuery

      CompositionList getCompositionsByQuery(CompositionQuery compositionQuery) throws OperationFailedException, PermissionDeniedException
      Gets a list of Compositions matching the given composition query.
      Parameters:
      compositionQuery - the composition query
      Returns:
      the returned CompositionList
      Throws:
      NullArgumentException - compositionQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - compositionQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.