Interface HoldEnablerRuleApplicationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface HoldEnablerRuleApplicationSession extends OsidSession

This session provides methods to apply HoldEnablers to Holds . A Hold with multiple HoldEnablers means any positive rule evaluation across the enablers result in an effective Hold .

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

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

      void assignHoldEnablerToHold(Id holdEnablerId, Id holdId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing HoldEnabler to a Hold .
      Parameters:
      holdEnablerId - the Id of the HoldEnabler
      holdId - the Id of the Hold
      Throws:
      AlreadyExistsException - holdEnablerId is already applied to holdId
      NotFoundException - holdEnablerId or holdId not found
      NullArgumentException - holdEnablerId or holdId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignHoldEnablerFromHold

      void unassignHoldEnablerFromHold(Id holdEnablerId, Id holdId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes a HoldEnabler from a Hold .
      Parameters:
      holdEnablerId - the Id of the HoldEnabler
      holdId - the Id of the Hold
      Throws:
      NotFoundException - holdEnablerId or holdId not found or holdEnablerId is not applied to holdId
      NullArgumentException - holdEnablerId or holdId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSequenceHoldEnablers

      boolean canSequenceHoldEnablers()
      Tests if this user can order HoldEnablers . A return of true does not guarantee successful authorization. A return of false indicates that it is known sequencing operations will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer sequencing operations to an unauthorized user.
      Returns:
      false if HoldEnabler ordering is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • moveHoldEnablerAhead

      void moveHoldEnablerAhead(Id holdEnablerId, Id holdId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders hold enablers for a hold by moving the specified hold enabler in front of a reference hold enabler.
      Parameters:
      holdEnablerId - the Id of a HoldEnabler
      holdId - the Id of a Hold
      referenceId - the reference hold enabler Id
      Throws:
      NotFoundException - holdEnablerId, holdId , or referenceId not found or, holdEnablerId or referenceId not related to holdId
      NullArgumentException - holdEnablerId, holdId , or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • moveHoldEnablerBehind

      void moveHoldEnablerBehind(Id holdEnablerId, Id holdId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders hold enablers for a hold by moving the specified hold enabler behind a reference hold enabler.
      Parameters:
      holdEnablerId - the Id of a HoldEnabler
      holdId - the Id of a Hold
      referenceId - the reference hold enabler Id
      Throws:
      NotFoundException - holdEnablerId, holdId , or referenceId not found or, holdEnablerId or referenceId not related to holdId
      NullArgumentException - holdEnablerId, holdId , or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • orderHoldEnablers

      void orderHoldEnablers(Id[] holdEnablerId, Id holdId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders a set of hold enablers for a hold.
      Parameters:
      holdEnablerId - the Ids for a set of HoldEnablers
      holdId - the Id of a Hold
      Throws:
      NotFoundException - holdId not found or, a holdnEnablerId not related to holdId
      NullArgumentException - holdEnablerIds or holdId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.