Interface QueueProcessorRuleApplicationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface QueueProcessorRuleApplicationSession extends OsidSession

This session provides methods to apply QueueProcessors to Queues. Multiple QueueProcessors applied to an Queue may be sequenced such that the first positive evaluation results in the QueueProcessor 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.
    • canAssignQueueProcessors

      boolean canAssignQueueProcessors()
      Tests if this user can alter queue processor/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.
    • assignQueueProcessorToQueue

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

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

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

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

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

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