Interface TermLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface TermLookupSession extends OsidSession

This session provides methods for retrieving Terms . The Term represents a time period in which courses are offered.

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 course catalog view: All term methods in this session operate, retrieve and pertain to terms defined explicitly in the current course catalog. Using an isolated view is useful for managing Terms with the TermAdminSession .
  • federated course catalog view: All term methods in this session operate, retrieve and pertain to all terms defined in this course catalog and any other terms implicitly available in this course catalog through course catalog inheritence.

Generally, the comparative view should be used for most applications as it permits operation even if there is data that cannot be accessed. 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.
    • canLookupTerms

      boolean canLookupTerms()
      Tests if this user can perform Term 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.
    • useComparativeTermView

      void useComparativeTermView()
      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.
    • usePlenaryTermView

      void usePlenaryTermView()
      A complete view of the Term 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 terms 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 lookups to this course catalog only.
      Compliance:
      mandatory - This method is must be implemented.
    • getTerm

      Gets the Term specified by its Id . In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Term may have a different Id than requested, such as the case where a duplicate Id was assigned to a Term and retained for compatibility.
      Parameters:
      termId - Id of the Term
      Returns:
      the term
      Throws:
      NotFoundException - termId not found
      NullArgumentException - termId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method is must be implemented.
    • getTermsByIds

      Gets a TermList corresponding to the given IdList . In plenary mode, the returned list contains all of the terms 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 Terms may be omitted from the list and may present the elements in any order including returning a unique set.
      Parameters:
      termIds - the list of Ids to retrieve
      Returns:
      the returned Term list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - termIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getTermsByGenusType

      TermList getTermsByGenusType(Type termGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a TermList corresponding to the given term genus Type which does not include terms of genus types derived from the specified Type . In plenary mode, the returned list contains all known terms or an error results. Otherwise, the returned list may contain only those terms that are accessible through this session.
      Parameters:
      termGenusType - a term genus type
      Returns:
      the returned Term list
      Throws:
      NullArgumentException - termGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getTermsByParentGenusType

      TermList getTermsByParentGenusType(Type termGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a TermList corresponding to the given term genus Type and include any additional terms with genus types derived from the specified Type . In plenary mode, the returned list contains all known terms or an error results. Otherwise, the returned list may contain only those terms that are accessible through this session.
      Parameters:
      termGenusType - a term genus type
      Returns:
      the returned Term list
      Throws:
      NullArgumentException - termGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getTermsByRecordType

      TermList getTermsByRecordType(Type termRecordType) throws OperationFailedException, PermissionDeniedException
      Gets a TermList containing the given term record Type . In plenary mode, the returned list contains all known terms or an error results. Otherwise, the returned list may contain only those terms that are accessible through this session.
      Parameters:
      termRecordType - a term record type
      Returns:
      the returned Term list
      Throws:
      NullArgumentException - termRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getTermsByClassesDate

      TermList getTermsByClassesDate(DateTime datetime) throws OperationFailedException, PermissionDeniedException
      Gets a TermList where to the given DateTime falls within the classes date range inclusive. Terms containing the given date are matched. In plenary mode, the returned list contains all of the terms 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 Terms may be omitted from the list including returning a unique set.
      Parameters:
      datetime - a date
      Returns:
      the returned Term list
      Throws:
      NullArgumentException - datetime is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getTerms

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