Interface SubscriptionEnablerRuleApplicationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface SubscriptionEnablerRuleApplicationSession extends OsidSession

This session provides methods to apply SubscriptionEnablers to Subscriptions . A Subscription with multiple SubscriptionEnablers means any positive rule evaluation across the enablers result in an effective Subscription .

  • Method Details

    • getPublisherId

      Id getPublisherId()
      Gets the Publisher Id associated with this session.
      Returns:
      the Publisher Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getPublisher

      Gets the Publisher associated with this session.
      Returns:
      the publisher
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canAssignSubscriptionEnablers

      boolean canAssignSubscriptionEnablers()
      Tests if this user can alter subscription enabler/subscription 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.
    • assignSubscriptionEnablerToSubscription

      void assignSubscriptionEnablerToSubscription(Id subscriptionEnablerId, Id subscriptionId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing SubscriptionEnabler to a Subscription .
      Parameters:
      subscriptionEnablerId - the Id of the SubscriptionEnabler
      subscriptionId - the Id of the Subscription
      Throws:
      AlreadyExistsException - subscriptionEnablerId is already applied to subscriptionId
      NotFoundException - subscriptionEnablerId or subscriptionId not found
      NullArgumentException - subscriptionEnablerId or subscriptionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignSubscriptionEnablerFromSubscription

      void unassignSubscriptionEnablerFromSubscription(Id subscriptionEnablerId, Id subscriptionId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes a SubscriptionEnabler from a Subscription .
      Parameters:
      subscriptionEnablerId - the Id of the SubscriptionEnabler
      subscriptionId - the Id of the Subscription
      Throws:
      NotFoundException - subscriptionEnablerId or subscriptionId not found or subscriptionEnablerId not applied to subscriptionId
      NullArgumentException - subscriptionEnablerId or subscriptionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSequenceSubscriptionEnablers

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

      void moveSubscriptionEnablerAhead(Id subscriptionEnablerId, Id subscriptionId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders subscription enablers for a subscription by moving the specified subscription enabler in front of a reference subscription enabler.
      Parameters:
      subscriptionEnablerId - the Id of a SubscriptionEnabler
      subscriptionId - the Id of a Subscription
      referenceId - the reference subscription enabler Id
      Throws:
      NotFoundException - subscriptionEnablerId, subscriptionId , or referenceId not found or, subscriptionEnabelrId or referenceId not related to subscriptionId
      NullArgumentException - subscriptionEnablerId, subscriptionId , or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • moveSubscriptionEnablerBehind

      void moveSubscriptionEnablerBehind(Id subscriptionEnablerId, Id subscriptionId, Id referenceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders subscription enablers for a subscription by moving the specified subscription enabler behind a reference subscription enabler.
      Parameters:
      subscriptionEnablerId - the Id of a SubscriptionEnabler
      subscriptionId - the Id of a Subscription
      referenceId - the reference subscription enabler Id
      Throws:
      NotFoundException - subscriptionEnablerId, subscriptionId , or referenceId not found or, subscriptionEnabelrId or referenceId not related to subscriptionId
      NullArgumentException - subscriptionEnablerId, subscriptionId , or referenceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • orderSubscriptionEnablers

      void orderSubscriptionEnablers(Id[] subscriptionEnablerIds, Id subscriptionId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Reorders a set of subscription enablers for a subscription.
      Parameters:
      subscriptionEnablerIds - the Ids for a set of SubscriptionEnablers
      subscriptionId - the Id of a Subscription
      Throws:
      NotFoundException - subscriptionId not found or, an subscriptionEnabelrId not related to subscriptionId
      NullArgumentException - subscriptionEnablerIds or subscriptionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.