Interface DispatchConstrainerRuleApplicationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface DispatchConstrainerRuleApplicationSession extends OsidSession

This session provides methods to apply DispatchConstrainers to Dispatches. Multiple DispatchConstrainers applied to an Dispatch may be sequenced such that the first positive evaluation results in the DispatchConstrainer used.

  • Method Details

    • getPublisherId

      Id getPublisherId()
      Gets the Publisher Id associated with this session.
      Returns:
      the Publisher Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getPublisher

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

      boolean canAssignDispatchConstrainers()
      Tests if this user can alter dispatch constrainer/dispatch 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.
    • assignDispatchConstrainerToDispatch

      void assignDispatchConstrainerToDispatch(Id dispatchConstrainerId, Id dispatchId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing DispatchConstrainer to a Dispatch.
      Parameters:
      dispatchConstrainerId - the Id of the DispatchConstrainer
      dispatchId - the Id of the Dispatch
      Throws:
      AlreadyExistsException - dispatchConstrainerId already applied to dispatchId
      NotFoundException - dispatchConstrainerId or dispatchId not found
      NullArgumentException - dispatchConstrainerId or dispatchId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignDispatchConstrainerFromDispatch

      void unassignDispatchConstrainerFromDispatch(Id dispatchConstrainerId, Id dispatchId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes an existing DispatchConstrainer from a Dispatch.
      Parameters:
      dispatchConstrainerId - the Id of the DispatchConstrainer
      dispatchId - the Id of the Dispatch
      Throws:
      NotFoundException - dispatchConstrainerId or dispatchId not found or dispatchConstrainerId already applied to dispatchId
      NullArgumentException - dispatchConstrainerId or dispatchId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSequenceDispatchConstrainers

      boolean canSequenceDispatchConstrainers()
      Tests if this user can order DispatchConstrainers. 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 DispatchConstrainer ordering is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • moveDispatchConstrainerAhead

      void moveDispatchConstrainerAhead(Id dispatchConstrainerId, Id dispatchId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders dispatch constrainers for a dispatch by moving the specified dispatch constrainer in front of a reference dispatch constrainer.
      Parameters:
      dispatchConstrainerId - the Id of the DispatchConstrainer
      dispatchId - the Id of the Dispatch
      referenceId - the reference dispatch constrainer Id
      Throws:
      NotFoundException - dispatchConstrainerId, dispatchId, or referenceId not found or, dispatchConstrainerId or referenceId not related to dispatchId
      NullArgumentException - dispatchConstrainerId, dispatchId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • moveDispatchConstrainerBehind

      void moveDispatchConstrainerBehind(Id dispatchConstrainerId, Id dispatchId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders dispatch constrainers for a dispatch by moving the specified dispatch constrainer behind a reference dispatch constrainer.
      Parameters:
      dispatchConstrainerId - the Id of the DispatchConstrainer
      dispatchId - the Id of the Dispatch
      referenceId - the reference dispatch constrainer Id
      Throws:
      NotFoundException - dispatchConstrainerId, dispatchId, or referenceId not found or, dispatchConstrainerId or referenceId not related to dispatchId
      NullArgumentException - dispatchConstrainerId, dispatchId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • orderDispatchConstrainers

      void orderDispatchConstrainers(Id[] dispatchConstrainerIds, Id dispatchId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders a set of dispatch constrainers for a dispatch.
      Parameters:
      dispatchConstrainerIds - the Ids for a set of DispatchConstrainers
      dispatchId - the Id of the Dispatch
      Throws:
      NotFoundException - dispatchId not found or, a dispatchConstrainerId not related to dispatchId
      NullArgumentException - dispatchConstrainerIds or dispatchId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.