Interface BrokerEnablerRuleApplicationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface BrokerEnablerRuleApplicationSession extends OsidSession

This session provides methods to apply BrokerEnablers to Brokers. Multiple BrokerEnablers applied to an Broker may be sequenced such that the first positive evaluation results in the BrokerEnablers 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.
    • canAssignBrokerEnablers

      boolean canAssignBrokerEnablers()
      Tests if this user can alter broker enabler/broker 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.
    • assignBrokerEnablerToBroker

      void assignBrokerEnablerToBroker(Id brokerEnablerId, Id brokerId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing BrokerEnabler to a Broker.
      Parameters:
      brokerEnablerId - the Id of the BrokerEnabler
      brokerId - the Id of the Broker
      Throws:
      AlreadyExistsException - brokerEnablerId already applied to brokerId
      NotFoundException - brokerEnablerId or brokerId not found
      NullArgumentException - brokerEnablerId or brokerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignBrokerEnablerFromBroker

      void unassignBrokerEnablerFromBroker(Id brokerEnablerId, Id brokerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes an existing BrokerEnabler from a Broker.
      Parameters:
      brokerEnablerId - the Id of the BrokerEnabler
      brokerId - the Id of the Broker
      Throws:
      NotFoundException - brokerEnablerId or brokerId not found or brokerEnablerId already applied to brokerId
      NullArgumentException - brokerEnablerId or brokerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSequenceBrokerEnablers

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

      void moveBrokerEnablerAhead(Id brokerEnablerId, Id brokerId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders broker enablers for a broker by moving the specified broker enabler in front of a reference broker enabler.
      Parameters:
      brokerEnablerId - the Id of the BrokerEnabler
      brokerId - the Id of the Broker
      referenceId - the reference broker enabler Id
      Throws:
      NotFoundException - brokerEnablerId, brokerId, or referenceId not found or, brokerEnablerId or referenceId not related to brokerId
      NullArgumentException - brokerEnablerId, brokerId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • moveBrokerEnablerBehind

      void moveBrokerEnablerBehind(Id brokerEnablerId, Id brokerId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders broker enablers for a broker by moving the specified broker enabler behind a reference broker enabler.
      Parameters:
      brokerEnablerId - the Id of the BrokerEnabler
      brokerId - the Id of the Broker
      referenceId - the reference broker enabler Id
      Throws:
      NotFoundException - brokerEnablerId, brokerId, or referenceId not found or, brokerEnablerId or referenceId not related to brokerId
      NullArgumentException - brokerEnablerId, brokerId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • orderBrokerEnablers

      void orderBrokerEnablers(Id[] brokerEnablerIds, Id brokerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders a set of broker enablers for a broker.
      Parameters:
      brokerEnablerIds - the Ids for a set of BrokerEnablers
      brokerId - the Id of the Broker
      Throws:
      NotFoundException - brokerEnablerId, brokerId, or referenceId not found or, brokerEnablerId or referenceId not related to brokerId
      NullArgumentException - brokerEnablerIds, brokerId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.