Interface ProvisionableEnablerRuleApplicationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ProvisionableEnablerRuleApplicationSession extends OsidSession

This session provides methods to apply ProvisionableEnablers to Provisionables. Multiple ProvisionableEnablers applied to an Provisionable may be sequenced such that the first positive evaluation results in the ProvisionableEnablers 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.
    • canAssignProvisionableEnablers

      boolean canAssignProvisionableEnablers()
      Tests if this user can alter provisionable enabler/provisionable 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.
    • assignProvisionableEnablerToProvisionable

      void assignProvisionableEnablerToProvisionable(Id provisionableEnablerId, Id provisionableId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing ProvisionableEnabler to a Provisionable.
      Parameters:
      provisionableEnablerId - the Id of the ProvisionableEnabler
      provisionableId - the Id of the Provisionable
      Throws:
      AlreadyExistsException - provisionableEnablerId already applied to provisionableId
      NotFoundException - provisionableEnablerId or provisionableId not found
      NullArgumentException - provisionableEnablerId or provisionableId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignProvisionableEnablerFromProvisionable

      void unassignProvisionableEnablerFromProvisionable(Id provisionableEnablerId, Id provisionableId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes an existing ProvisionableEnabler from a Provisionable.
      Parameters:
      provisionableEnablerId - the Id of the ProvisionableEnabler
      provisionableId - the Id of the Provisionable
      Throws:
      NotFoundException - provisionableEnablerId or provisionableId not found or provisionableEnablerId already applied to provisionableId
      NullArgumentException - provisionableEnablerId or provisionableId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSequenceProvisionableEnablers

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

      void moveProvisionableEnablerAhead(Id provisionableEnablerId, Id provisionableId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders provisionable enablers for a provisionable by moving the specified provisionable enabler in front of a reference provisionable enabler.
      Parameters:
      provisionableEnablerId - the Id of the ProvisionableEnabler
      provisionableId - the Id of the Provisionable
      referenceId - the reference provisionable enabler Id
      Throws:
      NotFoundException - provisionableEnablerId, provisionableId, or referenceId not found or, provisionableEnablerId or referenceId not related to provisionableId
      NullArgumentException - provisionableEnablerId, provisionableId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • moveProvisionableEnablerBehind

      void moveProvisionableEnablerBehind(Id provisionableEnablerId, Id provisionableId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders provisionable enablers for a provisionable by moving the specified provisionable enabler behind a reference provisionable enabler.
      Parameters:
      provisionableEnablerId - the Id of the ProvisionableEnabler
      provisionableId - the Id of the Provisionable
      referenceId - the reference provisionable enabler Id
      Throws:
      NotFoundException - provisionableEnablerId, provisionableId, or referenceId not found or, provisionableEnablerId or referenceId not related to provisionableId
      NullArgumentException - provisionableEnablerId, provisionableId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • orderProvisionableEnablers

      void orderProvisionableEnablers(Id[] provisionableEnablerIds, Id provisionableId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders a set of provisionable enablers for a provisionable.
      Parameters:
      provisionableEnablerIds - the Ids for a set of ProvisionableEnablers
      provisionableId - the Id of the Provisionable
      Throws:
      NotFoundException - provisionableEnablerId, provisionableId, or referenceId not found or, provisionableEnablerId or referenceId not related to provisionableId
      NullArgumentException - provisionableEnablerIds, provisionableId, or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.