Interface QueueConstrainerRuleApplicationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface QueueConstrainerRuleApplicationSession extends OsidSession

This session provides methods to apply QueueConstrainers to Queues. Multiple QueueConstrainers applied to an Queue may be sequenced such that the first positive evaluation results in the QueueConstrainer used.

  • Method Details

    • getDistributorId

      Id getDistributorId()
      Gets the Distributor Id associated with this session.
      Returns:
      the Distributor Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getDistributor

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

      boolean canAssignQueueConstrainers()
      Tests if this user can alter queue constrainer/queue 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.
    • assignQueueConstrainerToQueue

      void assignQueueConstrainerToQueue(Id queueConstrainerId, Id queueId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing QueueConstrainer to a Queue.
      Parameters:
      queueConstrainerId - the Id of the QueueConstrainer
      queueId - the Id of the Queue
      Throws:
      AlreadyExistsException - queueConstrainerId already applied to queueId
      NotFoundException - queueConstrainerId or queueId not found
      NullArgumentException - queueConstrainerId or queueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignQueueConstrainerFromQueue

      void unassignQueueConstrainerFromQueue(Id queueConstrainerId, Id queueId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes an existing QueueConstrainer from a Queue.
      Parameters:
      queueConstrainerId - the Id of the QueueConstrainer
      queueId - the Id of the Queue
      Throws:
      NotFoundException - queueConstrainerId or queueId not found or queueConstrainerId already applied to queueId
      NullArgumentException - queueConstrainerId or queueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSequenceQueueConstrainers

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

      void moveQueueConstrainerAhead(Id queueConstrainerId, Id queueId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders queue constrainers for a queue by moving the specified queue constrainer in front of a reference queue constrainer.
      Parameters:
      queueConstrainerId - the Id of the QueueConstrainer
      queueId - the Id of the Queue
      referenceId - the reference queue constrainer Id
      Throws:
      NotFoundException - queueConstrainerId, queueId , or referenceId not found or, queueConstrainerId or referenceId not related to queueId
      NullArgumentException - queueConstrainerId, queueId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • moveQueueConstrainerBehind

      void moveQueueConstrainerBehind(Id queueConstrainerId, Id queueId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders queue constrainers for a queue by moving the specified queue constrainer behind a reference queue constrainer.
      Parameters:
      queueConstrainerId - the Id of the QueueConstrainer
      queueId - the Id of the Queue
      referenceId - the reference queue constrainer Id
      Throws:
      NotFoundException - queueConstrainerId, queueId , or referenceId not found or, queueConstrainerId or referenceId not related to queueId
      NullArgumentException - queueConstrainerId, queueId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • orderQueueConstrainers

      void orderQueueConstrainers(Id[] queueConstrainerIds, Id queueId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders a set of queue constrainers for a queue.
      Parameters:
      queueConstrainerIds - the Ids for a set of QueueConstrainers
      queueId - the Id of the Queue
      Throws:
      NotFoundException - queueId not found or, a queueConstrainerId not related to queueId
      NullArgumentException - queueConstrainerIds or queueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.