Interface BlockLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface BlockLookupSession extends OsidSession

This session provides methods for retrieving Block objects.

This session defines views that offer differing behaviors when retrieving multiple objects.

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete set or is an error condition
  • isolated oubliette view: All block methods in this session operate, retrieve and pertain to blocks defined explicitly in the current oubliette. Using an isolated view is useful for managing Blocks with the BlockAdminSession .
  • federated oubliette view: All block methods in this session operate, retrieve and pertain to all blocks defined in this oubliette and any other blocks implicitly available in this oubliette through oubliette inheritence.

Generally, the comparative view should be used for most applications as it permits operation even if there is data that cannot be accessed. The methods useFederatedOublietteView() and useIsolatedOublietteView() behave as a radio group and one should be selected before invoking any lookup methods.

  • 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.
    • canLookupBlocks

      boolean canLookupBlocks()
      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 opt not to offer lookup operations to unauthorized users.
      Returns:
      false if lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeBlockView

      void useComparativeBlockView()
      The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.
      Compliance:
      mandatory - This method is must be implemented.
    • usePlenaryBlockView

      void usePlenaryBlockView()
      A complete view of the Block returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.
      Compliance:
      mandatory - This method is must be implemented.
    • useFederatedOublietteView

      void useFederatedOublietteView()
      Federates the view for methods in this session. A federated view will include blocks in oubliettes 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 lookups to this oubliette only.
      Compliance:
      mandatory - This method is must be implemented.
    • getBlock

      Gets the Block specified by its Id . In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Block may have a different Id than requested, such as the case where a duplicate Id was assigned to a Block and retained for compatibility.
      Parameters:
      blockId - Id of the Block
      Returns:
      the block
      Throws:
      NotFoundException - blockId not found
      NullArgumentException - blockId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method is must be implemented.
    • getBlocksByIds

      Gets a BlockList corresponding to the given IdList . In plenary mode, the returned list contains all of the blocks specified in the Id list, in the order of the list, including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Blocks may be omitted from the list and may present the elements in any order including returning a unique set.
      Parameters:
      blockIds - the list of Ids to retrieve
      Returns:
      the returned Block list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - blockIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getBlocksByGenusType

      BlockList getBlocksByGenusType(Type blockGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a BlockList corresponding to the given block genus Type which does not include blocks of genus types derived from the specified Type . In plenary mode, the returned list contains all known blocks or an error results. Otherwise, the returned list may contain only those blocks that are accessible through this session.
      Parameters:
      blockGenusType - a block genus type
      Returns:
      the returned Block list
      Throws:
      NullArgumentException - blockGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getBlocksByParentGenusType

      BlockList getBlocksByParentGenusType(Type blockGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a BlockList corresponding to the given block genus Type and include any additional blocks with genus types derived from the specified Type . In plenary mode, the returned list contains all known blocks or an error results. Otherwise, the returned list may contain only those blocks that are accessible through this session.
      Parameters:
      blockGenusType - a block genus type
      Returns:
      the returned Block list
      Throws:
      NullArgumentException - blockGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getBlocksByRecordType

      BlockList getBlocksByRecordType(Type blockRecordType) throws OperationFailedException, PermissionDeniedException
      Gets a BlockList containing the given block record Type . In plenary mode, the returned list contains all known blocks or an error results. Otherwise, the returned list may contain only those blocks that are accessible through this session.
      Parameters:
      blockRecordType - a block record type
      Returns:
      the returned Block list
      Throws:
      NullArgumentException - blockRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getBlocksForIssue

      BlockList getBlocksForIssue(Id issueId) throws OperationFailedException, PermissionDeniedException
      Gets a BlockList mapped to the given Issue In plenary mode, the returned list contains all known blocks or an error results. Otherwise, the returned list may contain only those blocks that are accessible through this session.
      Parameters:
      issueId - an issue Id
      Returns:
      the returned Block list
      Throws:
      NullArgumentException - issueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getBlocks

      Gets all Blocks . In plenary mode, the returned list contains all known blocks or an error results. Otherwise, the returned list may contain only those blocks that are accessible through this session.
      Returns:
      a list of Blocks
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.