Interface AgendaQuerySession

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

public interface AgendaQuerySession extends OsidSession

This session provides methods for searching among Agenda objects. The search query is constructed using the AgendaQuery.

This session defines views that offer differing behaviors for searching.

  • federated engine view: searches include agendas in engines of which this engine is an ancestor in the engine hierarchy
  • isolated engine view: searches are restricted to agendas in this engine

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

  • Method Details

    • getEngineId

      Id getEngineId()
      Gets the Engine Id associated with this session.
      Returns:
      the Engine Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getEngine

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

      boolean canSearchAgendas()
      Tests if this user can perform Agenda 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 search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedEngineView

      void useFederatedEngineView()
      Federates the view for methods in this session. A federated view will include agendas in engine which are children of this engine in the engine hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedEngineView

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

      AgendaQuery getAgendaQuery()
      Gets an agenda query.
      Returns:
      the agenda query
      Compliance:
      mandatory - This method must be implemented.
    • getAgendasByQuery

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