Interface BranchSmartJournalSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface BranchSmartJournalSession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic catalogs. A BranchQuery can be retrieved from this session and mapped to this Journal to create a virtual collection of Branches . The branches may be sequenced using the BranchSearchOrder from this session.

This Journal has a default query that matches any branch and a default search order that specifies no sequencing. The queries may be examined using a BranchQueryInspector . The query may be modified by converting the inspector back to a BranchQuery .

  • Method Details

    • getJournalId

      Id getJournalId()
      Gets the Journal Id associated with this session.
      Returns:
      the Journal Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getJournal

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

      boolean canManageSmartJournals()
      Tests if this user can manage smart journals. 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 journal management is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getBranchQuery

      BranchQuery getBranchQuery()
      Gets a branch query.
      Returns:
      the branch query
      Compliance:
      mandatory - This method must be implemented.
    • getBranchSearchOrder

      BranchSearchOrder getBranchSearchOrder()
      Gets a branch search order.
      Returns:
      the branch search order
      Compliance:
      mandatory - This method must be implemented.
    • applyBranchQuery

      void applyBranchQuery(BranchQuery branchQuery) throws OperationFailedException, PermissionDeniedException
      Applies a branch query to this journal.
      Parameters:
      branchQuery - the branch query
      Throws:
      NullArgumentException - branchQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - branchQuery not of this service
      Compliance:
      mandatory - This method must be implemented.
    • inspectBranchQuery

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

      void applyBranchSequencing(BranchSearchOrder branchSearchOrder) throws OperationFailedException, PermissionDeniedException
      Applies a branch search order to this journal.
      Parameters:
      branchSearchOrder - the branch search order
      Throws:
      NullArgumentException - branchSearchOrder is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - branchSearchOrder not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getBranchQueryFromInspector

      BranchQuery getBranchQueryFromInspector(BranchQueryInspector branchQueryInspector)
      Gets a branch query from an inspector.
      Parameters:
      branchQueryInspector - a branch query inspector
      Returns:
      the branch query
      Throws:
      NullArgumentException - branchQueryInspector is null
      UnsupportedException - branchQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.