Interface HoldEnablerRuleLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface HoldEnablerRuleLookupSession extends OsidSession

This session provides methods to retrieve HoldEnabler to Hold mappings. A Hold with multiple HoldEnablers means any positive rule evaluation across the enablers result in an enabled Hold .

This lookup session defines several views:

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete result set or is an error condition
  • isolated oubliette view: All methods in this session operate, retrieve and pertain hold enablers defined explicitly in the current oubliette.
  • federated oubliette view: All methods in this session operate, retrieve and pertain to all hold enablers defined in this oubliette and any other oubliette enablers implicitly available in this oubliette through oubliette inheritence.
  • 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.
    • canLookupHoldEnablerRules

      boolean canLookupHoldEnablerRules()
      Tests if this user can perform lookups of hold enabler/hold mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known lookup 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 looking up mappings is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeHoldEnablerRuleView

      void useComparativeHoldEnablerRuleView()
      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.
    • usePlenaryHoldEnablerRuleView

      void usePlenaryHoldEnablerRuleView()
      A complete view of the HoldEnabler and Hold 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 hold enablers 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.
    • getHoldEnablerIdsForHold

      Gets the HoldEnabler Id associated with a Hold .
      Parameters:
      holdId - Id of the Hold
      Returns:
      the hold enabler Ids
      Throws:
      NotFoundException - holdId is not found
      NullArgumentException - holdId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getHoldEnablersForHold

      Gets the HoldEnabler associated with a Hold .
      Parameters:
      holdId - Id of the Hold
      Returns:
      the hold enablers
      Throws:
      NotFoundException - holdId is not found
      NullArgumentException - holdId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getHoldIdsByHoldEnabler

      IdList getHoldIdsByHoldEnabler(Id holdEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the Hold Ids mapped to a HoldEnabler .
      Parameters:
      holdEnablerId - Id of a HoldEnabler
      Returns:
      list of hold Ids
      Throws:
      NotFoundException - holdEnablerId is not found
      NullArgumentException - holdEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getHoldsByHoldEnabler

      HoldList getHoldsByHoldEnabler(Id holdEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the Holds mapped to a HoldEnabler .
      Parameters:
      holdEnablerId - Id of a HoldEnabler
      Returns:
      list of holds
      Throws:
      NotFoundException - holdEnablerId is not found
      NullArgumentException - holdEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.