Interface ModuleLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ModuleLookupSession extends OsidSession

This session defines methods for retrieving modules.

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 course catalog view: All module methods in this session operate, retrieve and pertain to modules defined explicitly in the current course catalog. Using an isolated view is useful for managing modules with the ModuleAdminSession .
  • federated course catalog view: All module lookup methods in this session operate, retrieve and pertain to all modules defined in this course catalog and any other course catalogs implicitly available in this course catalog through course catalog inheritence.
  • active module view: active modules are returned from methods in this session
  • any status module view: active and inactive modules are returned from methods in this session

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

  • Method Details

    • getCourseCatalogId

      Id getCourseCatalogId()
      Gets the CourseCatalog Id associated with this session.
      Returns:
      the CourseCatalog Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getCourseCatalog

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

      boolean canLookupModules()
      Tests if this user can lookup modules. 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 these operations.
      Returns:
      false if module lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeModuleView

      void useComparativeModuleView()
      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.
    • usePlenaryModuleView

      void usePlenaryModuleView()
      A complete view of the Module 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.
    • useFederatedCourseCatalogView

      void useFederatedCourseCatalogView()
      Federates the view for methods in this session. A federated view will include modules in course catalogs which are children of this course catalog in the course catalog hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedCourseCatalogView

      void useIsolatedCourseCatalogView()
      Isolates the view for methods in this session. An isolated view restricts retrievals to this course catalog only.
      Compliance:
      mandatory - This method is must be implemented.
    • useActiveModuleView

      void useActiveModuleView()
      Only active modules are returned from methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • useAnyStatusModuleView

      void useAnyStatusModuleView()
      Borth active and inactive modules are returned from methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • getModule

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

      Gets a ModuleList corresponding to the given IdList . In plenary mode, the returned list contains all of the modules 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 modules may be omitted from the list and may present the elements in any order including returning a unique set. In active mode, modeules are returned that are currently active. In any status mode, active and inactive modules are returned.
      Parameters:
      moduleIds - the list of Ids to retrieve
      Returns:
      the returned Module list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - moduleIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getModulesByGenusType

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

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

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

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

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