Interface BlockQuerySession

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

public interface BlockQuerySession extends OsidSession

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

This session defines views that offer differing behaviors for searching.

  • federated oubliette view: searches include blocks in oubliettes of which this oubliette is an ancestor in the oubliette hierarchy
  • isolated oubliette view: searches are restricted to blocks in this oubliette

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

  • Method Details

    • getOublietteId

      Id getOublietteId()
      Gets the Oubliette Id associated with this session.
      Returns:
      the Oubliette Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getOubliette

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

      boolean canSearchBlocks()
      Tests if this user can perform Block lookups. 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 not offer lookup operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedOublietteView

      void useFederatedOublietteView()
      Federates the view for methods in this session. A federated view will include blocks in oubliette which are children of this oubliette in the oubliette hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedOublietteView

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

      BlockQuery getBlockQuery()
      Gets a block query.
      Returns:
      the block query
      Compliance:
      mandatory - This method must be implemented.
    • getBlocksByQuery

      Gets a list of Blocks matching the given block query.
      Parameters:
      blockQuery - the block query
      Returns:
      the returned BlockList
      Throws:
      NullArgumentException - blockQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - blockQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.