Interface LearningPathSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface LearningPathSession extends OsidSession

This session defines methods for finding learning paths through an objective hierarchy based on proficiencies.

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 objective bank view: All methods in this session operate, retrieve and pertain to objectives defined explicitly in the current objective bank.
  • federated objective bank view: All methods in this session operate, retrieve and pertain to all obtecives defined in this objective bank and any other objectives implicitly available in this objective bank through objective bank inheritence.

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

  • Method Details

    • getObjectiveBankId

      Id getObjectiveBankId()
      Gets the ObjectiveBank Id associated with this session.
      Returns:
      the ObjectiveBank Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getObjectiveBank

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

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

      void useComparativeProficiencyView()
      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.
    • usePlenaryProficiencyView

      void usePlenaryProficiencyView()
      A complete view of the Proficiency 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.
    • useFederatedObjectiveBankView

      void useFederatedObjectiveBankView()
      Federates the view for methods in this session. A federated view will include proficiencies in objective banks which are children of this objective bank in the obective bank hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedObjectiveBankView

      void useIsolatedObjectiveBankView()
      Isolates the view for methods in this session. An isolated view restricts retrievals to this objective bank only.
      Compliance:
      mandatory - This method is must be implemented.
    • findPathForResource

      ObjectiveList findPathForResource(Id objectiveId, Id resourceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the shortest path to an objective. The path is a list of objectives for which the resource has a deficient proficiency.
      Parameters:
      objectiveId - the Id of the Objective to reach
      resourceId - the Id of the Resource
      Returns:
      the returned list of objectives
      Throws:
      NotFoundException - objectiveId or resourceId not found
      NullArgumentException - proficiencyId or resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • findPathForResourceAtProficiency

      ObjectiveList findPathForResourceAtProficiency(Id objectiveId, Id resourceId, Id gradeId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the shortest path to an objective. The path is a list of objectives for which the resource has a proficiency less than the given proficiency.
      Parameters:
      objectiveId - the Id of the Objective to reach
      resourceId - the Id of the Resource
      gradeId - the Id of a proficiency level
      Returns:
      the returned list of objectives
      Throws:
      NotFoundException - objectiveId or resourceId not found
      NullArgumentException - proficiencyId, resourceId or gradeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getObjectivesForResourceByCompletion

      ObjectiveList getObjectivesForResourceByCompletion(Id objectiveId, Id resourceId, long completion) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the list of objectives for a resource that have a minimum completion.
      Parameters:
      objectiveId - the Id of the Objective to reach
      resourceId - the Id of the Resource
      completion - the minimum completion as a percentage number
      Returns:
      the returned list of objectives
      Throws:
      NotFoundException - objectiveId or resourceId not found
      NullArgumentException - proficiencyId or resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.