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.