Interface CanonicalUnitQuerySession

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

public interface CanonicalUnitQuerySession extends OsidSession

This session provides methods for querying CanonicalUnits. The search query is constructed using the CanonicalUnitQuery.

This session defines views that offer differing behaviors for searching.

  • federated catalogue view: searches include canonical units in catalogues of which this catalogue is an ancestor in the catalogue hierarchy
  • isolated catalogue view: searches are restricted to canonical units in this catalogue

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

  • Method Details

    • getCatalogueId

      Id getCatalogueId()
      Gets the Catalogue Id associated with this session.
      Returns:
      the Catalogue Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getCatalogue

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

      boolean canSearchCanonicalUnits()
      Tests if this user can perform CanonicalUnit 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 wish 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.
    • useFederatedCatalogueView

      void useFederatedCatalogueView()
      Federates the view for methods in this session. A federated view will include canonical units in catalogues which are children of this catalogue in the catalogue hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedCatalogueView

      void useIsolatedCatalogueView()
      Isolates the view for methods in this session. An isolated view restricts searches to this catalogue only.
      Compliance:
      mandatory - This method is must be implemented.
    • getCanonicalUnitQuery

      CanonicalUnitQuery getCanonicalUnitQuery()
      Gets a canonical unit query.
      Returns:
      the canonical unit query
      Compliance:
      mandatory - This method must be implemented.
    • getCanonicalUnitsByQuery

      CanonicalUnitList getCanonicalUnitsByQuery(CanonicalUnitQuery canonicalUnitQuery) throws OperationFailedException, PermissionDeniedException
      Gets a list of canonical units matching the given canonical unit query.
      Parameters:
      canonicalUnitQuery - the canonical unit query
      Returns:
      the returned CanonicalUnitList
      Throws:
      NullArgumentException - canonicalUnitQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - canonicalUnitQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.