Interface TodoQuerySession

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

public interface TodoQuerySession extends OsidSession

This session provides methods for searching Todos. The search query is constructed using the TodoQuery. The todo record Type also specifies the record for the todo query.

This session defines views that offer differing behaviors for searching.

  • isolated checklist view: All todo methods in this session operate, retrieve and pertain to todos defined explicitly in the current checklist. Using an isolated view is useful for managing todos with the TodoAdminSession.
  • federated checklist view: All todo lookup methods in this session operate, retrieve and pertain to all todos defined in this checklist and any other checklists implicitly available in this checklist through checklist inheritence.
  • sequestered todo viiew: All event methods suppress sequestered todos.
  • unsequestered todo view: All event methods return all todos.

Todos may have a query record indicated by their respective record types. The query record is accessed via the TodoQuery. The returns in this session may not be cast directly to these interfaces.

  • Method Details

    • getChecklistId

      Id getChecklistId()
      Gets the Checklist Id associated with this session.
      Returns:
      the Checklist Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getChecklist

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

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

      void useFederatedChecklistView()
      Federates the view for methods in this session. A federated view will include todos in checklists which are children of this checklist in the checklist hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedChecklistView

      void useIsolatedChecklistView()
      Isolates the view for methods in this session. An isolated view restricts searches to this checklist only.
      Compliance:
      mandatory - This method is must be implemented.
    • useSequesteredTodoView

      void useSequesteredTodoView()
      The returns from the search methods omit sequestered todos.
      Compliance:
      mandatory - This method is must be implemented.
    • useUnsequesteredTodoView

      void useUnsequesteredTodoView()
      All todos are returned including sequestered todos.
      Compliance:
      mandatory - This method is must be implemented.
    • getTodoQuery

      TodoQuery getTodoQuery()
      Gets a todo query.
      Returns:
      the todo query
      Compliance:
      mandatory - This method must be implemented.
    • getTodosByQuery

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