Interface CompositionEnablerRuleLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CompositionEnablerRuleLookupSession extends OsidSession

This session provides methods to retrieve CompositionEnabler to Composition mappings. A Composition with multiple CompositionEnablers means any positive rule evaluation across the enablers result in a visible Composition node.

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 methods in this session operate, retrieve and pertain composition enablers defined explicitly in the current repository.
  • federated repository view: All methods in this session operate, retrieve and pertain to all composition enablers defined in this repository and any other repository enablers implicitly available in this repository through repository inheritence.
  • 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
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canLookupCompositionEnablerRules

      boolean canLookupCompositionEnablerRules()
      Tests if this user can perform lookups of composition enabler/composition 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.
    • useComparativeCompositionEnablerRuleView

      void useComparativeCompositionEnablerRuleView()
      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.
    • usePlenaryCompositionEnablerRuleView

      void usePlenaryCompositionEnablerRuleView()
      A complete view of the CompositionEnabler and Composition 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 composition enablers 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.
    • getCompositionEnablerIdsForComposition

      IdList getCompositionEnablerIdsForComposition(Id compositionId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the CompositionEnabler Id associated with a Composition .
      Parameters:
      compositionId - Id of the Composition
      Returns:
      the composition enabler Ids
      Throws:
      NotFoundException - compositionId is not found
      NullArgumentException - compositionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCompositionEnablersForComposition

      CompositionEnablerList getCompositionEnablersForComposition(Id compositionId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the CompositionEnabler associated with a Composition .
      Parameters:
      compositionId - Id of the Composition
      Returns:
      the composition enablers
      Throws:
      NotFoundException - compositionId is not found
      NullArgumentException - compositionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCompositionIdsByCompositionEnabler

      IdList getCompositionIdsByCompositionEnabler(Id compositionEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the Composition Ids mapped to a CompositionEnabler .
      Parameters:
      compositionEnablerId - Id of a CompositionEnabler
      Returns:
      list of composition Ids
      Throws:
      NotFoundException - compositionEnablerId is not found
      NullArgumentException - compositionEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getCompositionsByCompositionEnabler

      CompositionList getCompositionsByCompositionEnabler(Id compositionEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the Compositions mapped to a CompositionEnabler .
      Parameters:
      compositionEnablerId - Id of a CompositionEnabler
      Returns:
      list of compositions
      Throws:
      NotFoundException - compositionEnablerId is not found
      NullArgumentException - compositionEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.