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.