Interface ObjectiveQuerySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
All Known Subinterfaces:
ObjectiveSearchSession

public interface ObjectiveQuerySession extends OsidSession

This session provides methods for searching Objectives. The search query is constructed using the ObjectiveQuery. The objective record Type also specifies the record for the objective query.

This session defines views that offer differing behaviors for searching.

  • federated objective bank view: searches include objectives in objective banks of which this objective bank is an ancestor in the objective bank hierarchy
  • isolated objective bank view: searches are restricted to objectives in this objective bank

Objectives may have a query record indicated by their respective record types. The query record is accessed via the ObjectiveQuery.

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

      boolean canSearchObjectives()
      Tests if this user can perform Objectives searches. 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 search operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method 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 searches to this objective bank only.
      Compliance:
      mandatory - This method is must be implemented.
    • getObjectiveQuery

      ObjectiveQuery getObjectiveQuery()
      Gets an objective query.
      Returns:
      the objective query
      Compliance:
      mandatory - This method must be implemented.
    • getObjectivesByQuery

      Gets a list of Objectives matching the given objective query.
      Parameters:
      objectiveQuery - the objective query
      Returns:
      the returned ObjectiveList
      Throws:
      NullArgumentException - objectiveQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - objectiveQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.