Interface NodeQuery

All Superinterfaces:
Extensible, OsidBrowsableQuery, OsidExtensibleQuery, OsidIdentifiableQuery, OsidObjectQuery, OsidQuery, Suppliable

public interface NodeQuery extends OsidObjectQuery

This is the query for searching nodes. Each method match specifies an AND term while multiple invocations of the same method produce a nested OR .

  • Method Details

    • matchEdgeId

      void matchEdgeId(Id edgeId, boolean match)
      Sets the edge Id for this query to match nodes that have a related edge.
      Parameters:
      edgeId - an edge Id
      match - true if a positive match, false for a negative match
      Throws:
      NullArgumentException - edgeId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearEdgeIdTerms

      void clearEdgeIdTerms()
      Clears the edge Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsEdgeQuery

      boolean supportsEdgeQuery()
      Tests if a EdgeQuery is available.
      Returns:
      true if an edge query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getEdgeQuery

      EdgeQuery getEdgeQuery()
      Gets the query for an edge. Multiple retrievals produce a nested OR term.
      Returns:
      the edge query
      Throws:
      UnimplementedException - supportsEdgeQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsEdgeQuery()} is {@code true} .
    • clearEdgeTerms

      void clearEdgeTerms()
      Clears the edge terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchGraphId

      void matchGraphId(Id graphId, boolean match)
      Sets the graph Id for this query.
      Parameters:
      graphId - the graph Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - graphId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearGraphIdTerms

      void clearGraphIdTerms()
      Clears the graph Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsGraphQuery

      boolean supportsGraphQuery()
      Tests if a GraphQuery is available.
      Returns:
      true if a graph query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getGraphQuery

      GraphQuery getGraphQuery()
      Gets the query for a graph. Multiple retrievals produce a nested OR term.
      Returns:
      the graph query
      Throws:
      UnimplementedException - supportsGraphQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsGraphQuery()} is {@code true} .
    • clearGraphTerms

      void clearGraphTerms()
      Clears the graph terms.
      Compliance:
      mandatory - This method must be implemented.
    • getNodeQueryRecord

      NodeQueryRecord getNodeQueryRecord(Type nodeRecordType) throws OperationFailedException
      Gets the node record query corresponding to the given Node record Type .Multiple record retrievals produce a nested OR term.
      Parameters:
      nodeRecordType - a node record type
      Returns:
      the node query record
      Throws:
      NullArgumentException - nodeRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(nodeRecordType) is false
      Compliance:
      mandatory - This method must be implemented.