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.