Interface DispatchLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface DispatchLookupSession extends OsidSession

This session provides methods for retrieving Dispatches . The Dispatch represents a collection of subscriptions.

This session defines views that offer differing behaviors when retrieving multiple objects.

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete set or is an error condition
  • isolated publisher view: All subscription methods in this session operate, retrieve and pertain to dispatches defined explicitly in the current publisher. Using an isolated view is useful for managing dispatches with the DispatchAdminSession .
  • federated publisher view: All subscription lookup methods in this session operate, retrieve and pertain to all dispatches defined in this publisher and any other publishers implicitly available in this publisher through publisher inheritence.
  • active dispatch view: All dispatch lookup methods return active dispatches.
  • any status dispatch view: Dispatches of any active or inactive status are returned from methods.
  • 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.
    • canLookupDispatches

      boolean canLookupDispatches()
      Tests if this user can perform Dispatch lookups. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED . This is intended as a hint to an application that may not offer lookup operations to unauthorized users.
      Returns:
      false if lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeDispatchView

      void useComparativeDispatchView()
      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.
    • usePlenaryDispatchView

      void usePlenaryDispatchView()
      A complete view of the Dispatch 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 dispatches 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 retrievals to this publisher only.
      Compliance:
      mandatory - This method is must be implemented.
    • useActiveDispatchView

      void useActiveDispatchView()
      Only active dispatches are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • useAnyStatusDispatchView

      void useAnyStatusDispatchView()
      All active and inactive dispatches are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • getDispatch

      Gets the Dispatch specified by its Id . In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Dispatch may have a different Id than requested, such as the case where a duplicate Id was assigned to a Dispatch and retained for compatibility. In active mode, dispatches are returned that are currently active. In any status mode, active and inactive dispatches are returned.
      Parameters:
      dispatchId - Id of the Dispatch
      Returns:
      the dispatch
      Throws:
      NotFoundException - dispatchId not found
      NullArgumentException - dispatchId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method is must be implemented.
    • getDispatchesByIds

      Gets a DispatchList corresponding to the given IdList . In plenary mode, the returned list contains all of the dispatches specified in the Id list, in the order of the list, including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Dispatches may be omitted from the list and may present the elements in any order including returning a unique set. In active mode, dispatches are returned that are currently active. In any status mode, active and inactive dispatches are returned.
      Parameters:
      dispatchIds - the list of Ids to retrieve
      Returns:
      the returned Dispatch list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - dispatchIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDispatchesByGenusType

      DispatchList getDispatchesByGenusType(Type dispatchGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a DispatchList corresponding to the given dispatch genus Type which does not include dispatches of genus types derived from the specified Type . In plenary mode, the returned list contains all known dispatches or an error results. Otherwise, the returned list may contain only those dispatches that are accessible through this session. In active mode, dispatches are returned that are currently active. In any status mode, active and inactive dispatches are returned.
      Parameters:
      dispatchGenusType - a dispatch genus type
      Returns:
      the returned Dispatch list
      Throws:
      NullArgumentException - dispatchGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDispatchesByParentGenusType

      DispatchList getDispatchesByParentGenusType(Type dispatchGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a DispatchList corresponding to the given dispatch genus Type and include any additional dispatches with genus types derived from the specified Type . In plenary mode, the returned list contains all known dispatches or an error results. Otherwise, the returned list may contain only those dispatches that are accessible through this session. In active mode, dispatches are returned that are currently active. In any status mode, active and inactive dispatches are returned.
      Parameters:
      dispatchGenusType - a dispatch genus type
      Returns:
      the returned Dispatch list
      Throws:
      NullArgumentException - dispatchGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDispatchesByRecordType

      DispatchList getDispatchesByRecordType(Type dispatchRecordType) throws OperationFailedException, PermissionDeniedException
      Gets a DispatchList containing the given dispatch record Type . In plenary mode, the returned list contains all known dispatches or an error results. Otherwise, the returned list may contain only those dispatches that are accessible through this session. In active mode, dispatches are returned that are currently active. In any status mode, active and inactive dispatches are returned.
      Parameters:
      dispatchRecordType - a dispatch record type
      Returns:
      the returned Dispatch list
      Throws:
      NullArgumentException - dispatchRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDispatchesByEditor

      DispatchList getDispatchesByEditor(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Gets a DispatchList for the given editor. In plenary mode, the returned list contains all known dispatches or an error results. Otherwise, the returned list may contain only those dispatches that are accessible through this session. In active mode, dispatches are returned that are currently active. In any status mode, active and inactive dispatches are returned.
      Parameters:
      resourceId - a resource Id
      Returns:
      the returned Dispatch list
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDispatches

      Gets all Dispatches . In plenary mode, the returned list contains all known dispatches or an error results. Otherwise, the returned list may contain only those dispatches that are accessible through this session. In active mode, dispatches are returned that are currently active. In any status mode, active and inactive dispatches are returned.
      Returns:
      a list of Dispatches
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.