Interface SubscriptionEnablerPublisherSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface SubscriptionEnablerPublisherSession extends OsidSession

This session provides methods to retrieve SubscriptionEnabler to Subscription mappings. A SubscriptionEnabler may appear in multiple Subscription objects. Each subscription may have its own authorizations governing who is allowed to look at it.

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
  • Method Details

    • canLookupSubscriptionEnablerPublishertMappings

      boolean canLookupSubscriptionEnablerPublishertMappings()
      Tests if this user can perform lookups of subscription enabler/publisher 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.
    • useComparativeSubscriptionEnablerPublisherView

      void useComparativeSubscriptionEnablerPublisherView()
      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.
    • usePlenarySubscriptionEnablerPublisherView

      void usePlenarySubscriptionEnablerPublisherView()
      A complete view of the SubscriptionEnabler and Publisher 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.
    • getSubscriptionEnablerIdsByPublisher

      IdList getSubscriptionEnablerIdsByPublisher(Id publisherId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the list of SubscriptionEnablerIds associated with a Publisher .
      Parameters:
      publisherId - Id of the Publisher
      Returns:
      list of related subscription enabler Ids
      Throws:
      NotFoundException - publisherId is not found
      NullArgumentException - publisherId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSubscriptionEnablersByPublisher

      SubscriptionEnablerList getSubscriptionEnablersByPublisher(Id publisherId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the list of subscription enablers associated with a Publisher .
      Parameters:
      publisherId - Id of the Publisher
      Returns:
      list of related subscription enablers
      Throws:
      NotFoundException - publisherId is not found
      NullArgumentException - publisherId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSubscriptionEnablerIdsByPublishers

      IdList getSubscriptionEnablerIdsByPublishers(IdList publisherIds) throws OperationFailedException, PermissionDeniedException
      Gets the list of SubscriptionEnablerIds corresponding to a list of Publishers .
      Parameters:
      publisherIds - list of publisher Ids
      Returns:
      list of subscription enabler Ids
      Throws:
      NullArgumentException - familtIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSubscriptionEnablersByPublishers

      SubscriptionEnablerList getSubscriptionEnablersByPublishers(IdList publisherIds) throws OperationFailedException, PermissionDeniedException
      Gets the list of subscription enablers corresponding to a list of Publishers .
      Parameters:
      publisherIds - list of publisher Ids
      Returns:
      list of subscription enablers
      Throws:
      NullArgumentException - publisherIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPublisherIdsBySubscriptionEnabler

      IdList getPublisherIdsBySubscriptionEnabler(Id subscriptionEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the Publisher Ids mapped to a SubscriptionEnabler .
      Parameters:
      subscriptionEnablerId - Id of a SubscriptionEnabler
      Returns:
      list of publisher 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

      PublisherList getSubscriptionsBySubscriptionEnabler(Id subscriptionEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the publishers mapped to a SubscriptionEnabler .
      Parameters:
      subscriptionEnablerId - Id of a SubscriptionEnabler
      Returns:
      list of publishers
      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.