Interface PlanLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface PlanLookupSession extends OsidSession

This session defines methods for retrieving plans.

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 plan methods in this session operate, retrieve and pertain to plans defined explicitly in the current course catalog. Using an isolated view is useful for managing plans with the PlanAdminSession .
  • federated course catalog view: All plan lookup methods in this session operate, retrieve and pertain to all plans defined in this course catalog and any other course catalogs implicitly available in this course catalog through course catalog inheritence.
  • effective plan view: All plan lookup methods return plans where the current date falls in between the effective dates inclusive.
  • any plan view: Plans of any effective date are returned from methods.

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.
    • canLookupPlans

      boolean canLookupPlans()
      Tests if this user can lookup plans. 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 plan lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativePlanView

      void useComparativePlanView()
      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.
    • usePlenaryPlanView

      void usePlenaryPlanView()
      A complete view of the Plan 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 plans 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.
    • useEffectivePlanView

      void useEffectivePlanView()
      Only plans whose effective dates are current are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • useAnyEffectivePlanView

      void useAnyEffectivePlanView()
      All plans of any effective dates are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • getPlan

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

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

      PlanList getPlansByGenusType(Type planGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a PlanList corresponding to the given plan genus Type which does not include plans of genus types derived from the specified Type . In plenary mode, the returned list contains all known plans or an error results. Otherwise, the returned list may contain only those plans that are accessible through this session. In effective mode, plans are returned that are currently effective. In any effective mode, effective plans and those currently expired are returned.
      Parameters:
      planGenusType - a plan genus type
      Returns:
      the returned Plan list
      Throws:
      NullArgumentException - planGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPlansByParentGenusType

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

      PlanList getPlansByRecordType(Type planRecordType) throws OperationFailedException, PermissionDeniedException
      Gets a PlanList containing the given plan record Type . In plenary mode, the returned list contains all known plans or an error results. Otherwise, the returned list may contain only those plans that are accessible through this session. In effective mode, plans are returned that are currently effective. In any effective mode, effective plans and those currently expired are returned.
      Parameters:
      planRecordType - a plan record type
      Returns:
      the returned Plan list
      Throws:
      NullArgumentException - planRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPlansOnDate

      Gets a PlanList effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known plans or an error results. Otherwise, the returned list may contain only those plans that are accessible through this session. In effective mode, plans are returned that are currently effective. In any effective mode, effective plans and those currently expired are returned.
      Parameters:
      from - start of date range
      to - end of date range
      Returns:
      the returned Plan list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPlansForSyllabus

      PlanList getPlansForSyllabus(Id syllabusId) throws OperationFailedException, PermissionDeniedException
      Gets a PlanList for the given syllabus Id . In plenary mode, the returned list contains all known plans or an error results. Otherwise, the returned list may contain only those plans that are accessible through this session. In effective mode, plans are returned that are currently effective. In any effective mode, effective plans and those currently expired are returned.
      Parameters:
      syllabusId - a syllabus Id
      Returns:
      the returned Plan list
      Throws:
      NullArgumentException - syllabusId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPlansForSyllabusOnDate

      PlanList getPlansForSyllabusOnDate(Id syllabusId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a PlanList for a syllabus effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known plans or an error results. Otherwise, the returned list may contain only those plans that are accessible through this session. In effective mode, plans are returned that are currently effective. In any effective mode, effective plans and those currently expired are returned.
      Parameters:
      syllabusId - a syllabus Id
      from - start of date range
      to - end of date range
      Returns:
      the returned Plan list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - syllabusId, from, or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPlansForCourseOffering

      PlanList getPlansForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Gets a PlanList for the given course offering Id . In plenary mode, the returned list contains all known plans or an error results. Otherwise, the returned list may contain only those plans that are accessible through this session. In effective mode, plans are returned that are currently effective. In any effective mode, effective plans and those currently expired are returned.
      Parameters:
      courseOfferingId - a course offering Id
      Returns:
      the returned Plan list
      Throws:
      NullArgumentException - courseOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPlansForCourseOfferingOnDate

      PlanList getPlansForCourseOfferingOnDate(Id courseOfferingId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a PlanList for a course offering effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known plans or an error results. Otherwise, the returned list may contain only those plans that are accessible through this session. In effective mode, plans are returned that are currently effective. In any effective mode, effective plans and those currently expired are returned.
      Parameters:
      courseOfferingId - a course offering Id
      from - start of date range
      to - end of date range
      Returns:
      the returned Plan list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - courseOfferingId, from, or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPlansForSyllabusAndCourseOffering

      PlanList getPlansForSyllabusAndCourseOffering(Id syllabusId, Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Gets a PlanList for the given syllabus and CourseOffering . In plenary mode, the returned list contains all known plans or an error results. Otherwise, the returned list may contain only those plans that are accessible through this session. In effective mode, plans are returned that are currently effective. In any effective mode, effective plans and those currently expired are returned.
      Parameters:
      syllabusId - a syllabus Id
      courseOfferingId - a course offering Id
      Returns:
      the returned Plan list
      Throws:
      NullArgumentException - syllabusId or courseOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPlansForSyllabusAndCourseOfferingOnDate

      PlanList getPlansForSyllabusAndCourseOfferingOnDate(Id syllabusId, Id courseOfferingId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a PlanList for a syllabus and course offering effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known plans or an error results. Otherwise, the returned list may contain only those plans that are accessible through this session. In effective mode, plans are returned that are currently effective. In any effective mode, effective plans and those currently expired are returned.
      Parameters:
      syllabusId - a syllabus Id
      courseOfferingId - a course offering Id
      from - start of date range
      to - end of date range
      Returns:
      the returned Plan list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - syllabusId, courseOfferingId, from, or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getPlans

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