com.mobixess.jodb.soda.api
Interface Query

All Known Implementing Classes:
QueryNode

public interface Query

handle to a node in the query graph.

A node in the query graph can represent multiple classes, one class or an attribute of a class.

The graph is automatically extended with attributes of added constraints (see constrain()) and upon calls to descend() that request nodes that do not yet exist.

References to joined nodes in the query graph kann be obtained by "walking" along the nodes of the graph with the method descend().

execute() evaluates the entire graph against all persistent objects.

execute() can be called from any Query node of the graph. It will return an ObjectSet filled with objects of the class/classes that the node, it was called from, represents.


Method Summary
 Constraint constrain(java.lang.Object constraint)
          adds a constraint to this node.
 Constraints constraints()
          returns a Constraints object that holds an array of all constraints on this node.
 Query descend(java.lang.String fieldName)
          returns a reference to a descendant node in the query graph.
 ObjectSet execute()
          executes the Query.
 Query orderAscending()
          adds an ascending ordering criteria to this node of the query graph.
 Query orderDescending()
          adds a descending order criteria to this node of the query graph.
 

Method Detail

constrain

Constraint constrain(java.lang.Object constraint)
adds a constraint to this node.

If the constraint contains attributes that are not yet present in the query graph, the query graph is extended accordingly.

Special behaviour for:

Parameters:
constraint - the constraint to be added to this Query.
Returns:
Constraint a new Constraint for this query node or null for objects implementing the Evaluation interface.

constraints

Constraints constraints()
returns a Constraints object that holds an array of all constraints on this node.

Returns:
Constraints on this query node.

execute

ObjectSet execute()
                  throws java.io.IOException,
                         IllegalClassTypeException
executes the Query.

Returns:
ObjectSet - the result of the Query.
Throws:
java.io.IOException
IllegalClassTypeException

descend

Query descend(java.lang.String fieldName)
returns a reference to a descendant node in the query graph.

If the node does not exist, it will be created.

All classes represented in the query node are tested, whether they contain a field with the specified field name. The descendant Query node will be created from all possible candidate classes.

Parameters:
field - path to the descendant.
Returns:
descendant Query node

orderAscending

Query orderAscending()
adds an ascending ordering criteria to this node of the query graph. Multiple ordering criteria will be applied in the order they were called.

Returns:
this Query object to allow the chaining of method calls.

orderDescending

Query orderDescending()
adds a descending order criteria to this node of the query graph. Multiple ordering criteria will be applied in the order they were called.

Returns:
this Query object to allow the chaining of method calls.


Copyright © Mobixess Inc. All Rights Reserved.