Interface SubscriptionEnablerRuleLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface SubscriptionEnablerRuleLookupSession extends OsidSession

This session provides methods to retrieve SubscriptionEnabler to Subscription mappings. A Subscription with multiple SubscriptionEnablers means any positive rule evaluation across the enablers result in an enabled Subscription .

This lookup session defines several views:

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete result set or is an error condition
  • isolated publisher view: All methods in this session operate, retrieve and pertain subscription enablers defined explicitly in the current publisher.
  • federated publisher view: All methods in this session operate, retrieve and pertain to all subscription enablers defined in this publisher and any other publisher enablers implicitly available in this publisher through publisher inheritence.
  • 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.
    • canLookupSubscriptionEnablerRules

      boolean canLookupSubscriptionEnablerRules()
      Tests if this user can perform lookups of subscription enabler/subscription mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known lookup 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 looking up mappings is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeSubscriptionEnablerRuleView

      void useComparativeSubscriptionEnablerRuleView()
      The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.
      Compliance:
      mandatory - This method is must be implemented.
    • usePlenarySubscriptionEnablerRuleView

      void usePlenarySubscriptionEnablerRuleView()
      A complete view of the SubscriptionEnabler and Subscription returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.
      Compliance:
      mandatory - This method is must be implemented.
    • useFederatedPublisherView

      void useFederatedPublisherView()
      Federates the view for methods in this session. A federated view will include subscription enablers in publishers which are children of this publisher in the publisher hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedPublisherView

      void useIsolatedPublisherView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this publisher only.
      Compliance:
      mandatory - This method is must be implemented.
    • getSubscriptionEnablerIdsForSubscription

      IdList getSubscriptionEnablerIdsForSubscription(Id subscriptionId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the SubscriptionEnabler Id associated with a Subscription .
      Parameters:
      subscriptionId - Id of the Subscription
      Returns:
      the subscription enabler Ids
      Throws:
      NotFoundException - subscriptionId is not found
      NullArgumentException - subscriptionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSubscriptionEnablersForSubscription

      SubscriptionEnablerList getSubscriptionEnablersForSubscription(Id subscriptionId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the SubscriptionEnabler associated with a Subscription .
      Parameters:
      subscriptionId - Id of the Subscription
      Returns:
      the subscription enablers
      Throws:
      NotFoundException - subscriptionId is not found
      NullArgumentException - subscriptionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSubscriptionIdsBySubscriptionEnabler

      IdList getSubscriptionIdsBySubscriptionEnabler(Id subscriptionEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the Subscription Ids mapped to a SubscriptionEnabler .
      Parameters:
      subscriptionEnablerId - Id of a SubscriptionEnabler
      Returns:
      list of subscription Ids
      Throws:
      NotFoundException - subscriptionEnablerId is not found
      NullArgumentException - subscriptionEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSubscriptionsBySubscriptionEnabler

      SubscriptionList getSubscriptionsBySubscriptionEnabler(Id subscriptionEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the Subscriptions mapped to a SubscriptionEnabler .
      Parameters:
      subscriptionEnablerId - Id of a SubscriptionEnabler
      Returns:
      list of subscriptions
      Throws:
      NotFoundException - subscriptionEnablerId is not found
      NullArgumentException - subscriptionEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.