Interface ProvisionEnablerRuleApplicationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ProvisionEnablerRuleApplicationSession extends OsidSession

This session provides methods to apply ProvisionEnablers to Provisions. Multiple ProvisionEnablers applied to an Provision may be sequenced such that the first positive evaluation results in the ProvisionEnablers 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.
    • canAssignProvisionEnablers

      boolean canAssignProvisionEnablers()
      Tests if this user can alter provision enabler/provision 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.
    • assignProvisionEnablerToProvision

      void assignProvisionEnablerToProvision(Id provisionEnablerId, Id provisionId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing ProvisionEnabler to a Provision.
      Parameters:
      provisionEnablerId - the Id of the ProvisionEnabler
      provisionId - the Id of the Provision
      Throws:
      AlreadyExistsException - provisionEnablerId already applied to provisionId
      NotFoundException - provisionEnablerId or provisionId not found
      NullArgumentException - provisionEnablerId or provisionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignProvisionEnablerFromProvision

      void unassignProvisionEnablerFromProvision(Id provisionEnablerId, Id provisionId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes an existing ProvisionEnabler from a Provision.
      Parameters:
      provisionEnablerId - the Id of the ProvisionEnabler
      provisionId - the Id of the Provision
      Throws:
      NotFoundException - provisionEnablerId or provisionId not found or provisionEnablerId already applied to provisionId
      NullArgumentException - provisionEnablerId or provisionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSequenceProvisionEnablers

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

      void moveProvisionEnablerAhead(Id provisionEnablerId, Id provisionId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders provision enablers for a provision by moving the specified provision enabler in front of a reference provision enabler.
      Parameters:
      provisionEnablerId - the Id of the ProvisionEnabler
      provisionId - the Id of the Provision
      referenceId - the reference provision enabler Id
      Throws:
      NotFoundException - provisionEnablerId, provisionId, or referenceId not found or, provisionEnablerId or referenceId not related to provisionId
      NullArgumentException - provisionEnablerId, provisionId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • moveProvisionEnablerBehind

      void moveProvisionEnablerBehind(Id provisionEnablerId, Id provisionId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders provision enablers for a provision by moving the specified provision enabler behind a reference provision enabler.
      Parameters:
      provisionEnablerId - the Id of the ProvisionEnabler
      provisionId - the Id of the Provision
      referenceId - the reference provision enabler Id
      Throws:
      NotFoundException - provisionEnablerId, provisionId, or referenceId not found or, provisionEnablerId or referenceId not related to provisionId
      NullArgumentException - provisionEnablerId, provisionId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • orderProvisionEnablers

      void orderProvisionEnablers(Id[] provisionEnablerIds, Id provisionId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders a set of provision enablers for a provision.
      Parameters:
      provisionEnablerIds - the Ids for a set of ProvisionEnablers
      provisionId - the Id of the Provision
      Throws:
      NotFoundException - provisionEnablerId, provisionId, or referenceId not found or, provisionEnablerId or referenceId not related to provisionId
      NullArgumentException - provisionEnablerIds, provisionId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.