Interface AssetCompositionSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AssetCompositionSession extends OsidSession

This session defines methods for looking up Asset to Composition mappings. A Composition represents a collection of Assets .

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 repository view: All lookup methods in this session operate, retrieve and pertain to asseta and compositions defined explicitly in the current repository. Using an isolated view is useful for managing compositions with the CompositionAdminSession.
  • federated repository view: All lookup methods in this session operate, retrieve and pertain to all compositions and assets defined in this repository and any other compositions implicitly available in this repository through repository inheritence.

The methods useFederatedAssetCompositionView() and useIsolatedAssetCompositiontView() behave as a radio group and one should be selected before invoking any lookup methods.

  • Method Details

    • getRepositoryId

      Id getRepositoryId()
      Gets the Repository Id associated with this session.
      Returns:
      the Repository Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getRepository

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

      boolean canAccessAssetCompositions()
      Tests if this user can perform composition 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 opt not to offer lookup operations to unauthorized users.
      Returns:
      false if lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeAssetCompositionView

      void useComparativeAssetCompositionView()
      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.
    • usePlenaryAssetCompositionView

      void usePlenaryAssetCompositionView()
      A complete view of the 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.
    • useFederatedRepositoryView

      void useFederatedRepositoryView()
      Federates the view for methods in this session. A federated view will include compositions in repositories which are children of this repository in the repository hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedRepositoryView

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

      Gets the list of assets mapped to the given Composition . In plenary mode, the returned list contains all known assets or an error results. Otherwise, the returned list may contain only those assets that are accessible through this session.
      Parameters:
      compositionId - Id of the Composition
      Returns:
      list of assets
      Throws:
      NotFoundException - compositionId not found
      NullArgumentException - compositionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method is must be implemented.
    • getCompositionsByAsset

      Gets a list of compositions including the given asset. In plenary mode, the returned list contains all known compositions or an error results. Otherwise, the returned list may contain only those compositions that are accessible through this session.
      Parameters:
      assetId - Id of the Asset
      Returns:
      the returned Composition list
      Throws:
      NotFoundException - assetId is not found
      NullArgumentException - assetId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.