Interface ObjectiveSequencingSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ObjectiveSequencingSession extends OsidSession

This session provides methods to sequence the objectives in the objective hierarchy.

  • Method Details

    • getObjectiveHierarchyId

      Id getObjectiveHierarchyId()
      Gets the hierarchy Id associated with this session.
      Returns:
      the hierarchy Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getObjectiveHierarchy

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

      boolean canSequenceObjectives()
      Tests if this user can sequence objectives. A return of true does not guarantee successful authorization. A return of false indicates that it is known performing any update will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer these operations to an unauthorized user.
      Returns:
      false if sequencing objectives is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • moveObjectiveAhead

      void moveObjectiveAhead(Id parentObjectiveId, Id referenceObjectiveId, Id objectiveId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Moves an objective ahead of a refrence objective under the given parent.
      Parameters:
      parentObjectiveId - the Id of the parent objective
      referenceObjectiveId - the Id of the objective
      objectiveId - the Id of the objective to move ahead of referenceObjectiveId
      Throws:
      NotFoundException - parentObjectiveId, referenceObjectiveId , or objectiveId not found, or referenceObjectiveId or objectiveId is not a child of parentObjectiveId
      NullArgumentException - parentObjectiveId, referenceObjectiveId , or id is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • moveObjectiveBehind

      void moveObjectiveBehind(Id parentObjectiveId, Id referenceObjectiveId, Id objectiveId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Moves an objective behind a refrence objective under the given parent.
      Parameters:
      parentObjectiveId - the Id of the parent objective
      referenceObjectiveId - the Id of the objective
      objectiveId - the Id of the objective to move behind referenceObjectiveId
      Throws:
      NotFoundException - parentObjectiveId, referenceObjectiveId , or objectiveId not found, or referenceObjectiveId or objectiveId is not a child of parentObjectiveId
      NullArgumentException - parentObjectiveId, referenceObjectiveId , or id is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • sequenceObjectives

      void sequenceObjectives(Id parentObjectiveId, Id[] objectiveIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Sequences a set of objectives under a parent.
      Parameters:
      parentObjectiveId - the Id of the parent objective
      objectiveIds - the Id of the objectives
      Throws:
      NotFoundException - parentId or an objectiveId not found, or an objectiveId is not a child of parentObjectiveId
      NullArgumentException - parenObjectivetId or objectiveIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.