Interface ObjectiveRequisiteSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ObjectiveRequisiteSession extends OsidSession

This session provides methods for retrieving objective requisites. A requisite is a set of Objectives that should be achieved before another Objective is attempted.

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 objective bank view: All objective methods in this session operate, retrieve and pertain to objectives defined explicitly in the current objective bank. Using an isolated view is useful for managing objectives with the ObjectiveAdminSession .
  • federated objective bank view: All objective methods in this session operate, retrieve and pertain to all objectives defined in this objective bank and any other objective banks implicitly available in this objective bank through objective bank inheritence.

Objectives may have an additional records indicated by their respective record types. The record may not be accessed through a cast of the Objective .

  • 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 ObjectiveBank associated with this session
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canLookupObjectivePrerequisites

      boolean canLookupObjectivePrerequisites()
      Tests if this user can perform Objective 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.
    • useComparativeObjectiveView

      void useComparativeObjectiveView()
      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.
    • usePlenaryObjectiveView

      void usePlenaryObjectiveView()
      A complete view of the Objective 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 objectives in objective banks which are children of this objective bank in the objective 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 lookups to this objective bank only.
      Compliance:
      mandatory - This method is must be implemented.
    • getRequisiteObjectives

      Gets a list of Objectives that are the immediate requisites for the given Objective . In plenary mode, the returned list contains all of the immediate requisites, or an error results if an Objective is not found or inaccessible. Otherwise, inaccessible Objectives may be omitted from the list and may present the elements in any order including returning a unique set.
      Parameters:
      objectiveId - Id of the Objective
      Returns:
      the returned requisite Objectives
      Throws:
      NotFoundException - objectiveId not found
      NullArgumentException - objectiveId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method is must be implemented.
    • getAllRequisiteObjectives

      ObjectiveList getAllRequisiteObjectives(Id objectiveId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets a list of Objectives that are the requisites for the given Objective including the requistes of the requisites, and so on. In plenary mode, the returned list contains all of the immediate requisites, or an error results if an Objective is not found or inaccessible. Otherwise, inaccessible Objectives may be omitted from the list and may present the elements in any order including returning a unique set.
      Parameters:
      objectiveId - Id of the Objective
      Returns:
      the returned Objective list
      Throws:
      NotFoundException - objectiveId not found
      NullArgumentException - objectiveId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDependentObjectives

      Gets a list of Objectives that require the given Objective . In plenary mode, the returned list contains all of the immediate requisites, or an error results if an Objective is not found or inaccessible. Otherwise, inaccessible Objectives may be omitted from the list and may present the elements in any order including returning a unique set.
      Parameters:
      objectiveId - Id of the Objective
      Returns:
      the returned Objective list
      Throws:
      NotFoundException - objectiveId not found
      NullArgumentException - objectiveId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • isObjectiveRequired

      boolean isObjectiveRequired(Id objectiveId, Id requiredObjectiveId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Tests if an objective is required before proceeding with an objective. One objective may indirectly depend on another objective by way of one or more other objectives.
      Parameters:
      objectiveId - Id of the dependent Objective
      requiredObjectiveId - Id of the required Objective
      Returns:
      true if objectiveId depends on requiredObjectiveId , false otherwise
      Throws:
      NotFoundException - objectiveId not found
      NullArgumentException - objectiveId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getEquivalentObjectives

      Gets a list of Objectives that are equivalent to the given Objective for the purpose of requisites. An equivalent objective can satisfy the given objective. In plenary mode, the returned list contains all of the equivalent requisites, or an error results if an Objective is not found or inaccessible. Otherwise, inaccessible Objectives may be omitted from the list and may present the elements in any order including returning a unique set.
      Parameters:
      objectiveId - Id of the Objective
      Returns:
      the returned Objective list
      Throws:
      NotFoundException - objectiveId not found
      NullArgumentException - objectiveId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.