Interface CompositionSmartRepositorySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CompositionSmartRepositorySession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic catalogs. A CompositionQuery can be retrieved from this session and mapped to this Repository to create a virtual collection of Compositions . The compositions may be sequenced using the CompositionSearchOrder from this session.

This Repository has a default query that matches any composition and a default search order that specifies no sequencing. The queries may be examined using a CompositionQueryInspector . The query may be modified by converting the inspector back to a 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.
    • canManageSmartRepository

      boolean canManageSmartRepository()
      Tests if this user can manage smart repository. A return of true does not guarantee successful authorization. A return of false indicates that it is known 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 operations to unauthorized users.
      Returns:
      false if smart repository management is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getCompositionQuery

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

      CompositionSearchOrder getCompositionSearchOrder()
      Gets a composition search order.
      Returns:
      the composition search order
      Compliance:
      mandatory - This method must be implemented.
    • applyCompositionQuery

      void applyCompositionQuery(CompositionQuery compositionQuery) throws OperationFailedException, PermissionDeniedException
      Applies a composition query to this repository.
      Parameters:
      compositionQuery - the composition query
      Throws:
      NullArgumentException - compositionQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - compositionQuery not of this service
      Compliance:
      mandatory - This method must be implemented.
    • inspectCompositionQuery

      Gets a composition query inspector for this repository.
      Returns:
      the composition query inspector
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      Compliance:
      mandatory - This method must be implemented.
    • applyCompositionSequencing

      void applyCompositionSequencing(CompositionSearchOrder compositionSearchOrder) throws OperationFailedException, PermissionDeniedException
      Applies a composition search order to this repository.
      Parameters:
      compositionSearchOrder - the composition search order
      Throws:
      NullArgumentException - compositionSearchOrder is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - compositionSearchOrder not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getCompositionQueryFromInspector

      CompositionQuery getCompositionQueryFromInspector(CompositionQueryInspector compositionQueryInspector)
      Gets a composition query from an inspector.
      Parameters:
      compositionQueryInspector - a resorce relationship query inspector
      Returns:
      the composition query
      Throws:
      NullArgumentException - compositionQueryInspector is null
      UnsupportedException - compositionQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.