Interface NodeQuerySession

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

public interface NodeQuerySession extends OsidSession

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

This session defines views that offer differing behaviors for searching.

  • federated graph view: searches include nodes in graphs of which this graph is an ancestor in the graph hierarchy
  • isolated graph view: searches are restricted to nodes in this graph

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

  • Method Details

    • getGraphId

      Id getGraphId()
      Gets the Graph Id associated with this session.
      Returns:
      the Graph Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getGraph

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

      boolean canSearchNodes()
      Tests if this user can perform Node 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.
    • useFederatedGraphView

      void useFederatedGraphView()
      Federates the view for methods in this session. A federated view will include nodes in graphs which are children of this graph in the graph hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedGraphView

      void useIsolatedGraphView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this graph only.
      Compliance:
      mandatory - This method is must be implemented.
    • getNodeQuery

      NodeQuery getNodeQuery()
      Gets a node query.
      Returns:
      the node query
      Compliance:
      mandatory - This method must be implemented.
    • getNodesByQuery

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