org.apache.cayenne.query
Class AbstractQuery

java.lang.Object
  extended by org.apache.cayenne.query.AbstractQuery
All Implemented Interfaces:
Serializable, Query
Direct Known Subclasses:
ProcedureQuery, QualifiedQuery, SQLTemplate

public abstract class AbstractQuery
extends Object
implements Query

A common superclass of Cayenne queries.

See Also:
Serialized Form

Field Summary
protected  String name
           
protected  Object root
          The root object this query.
 
Constructor Summary
AbstractQuery()
           
 
Method Summary
abstract  SQLAction createSQLAction(SQLActionVisitor visitor)
          A callback method invoked by Cayenne during the final execution phase of the query run.
 QueryMetadata getMetaData(EntityResolver resolver)
          Returns default select parameters.
 String getName()
          Returns a symbolic name of the query.
 Object getRoot()
          Returns the root of this query.
 void route(QueryRouter router, EntityResolver resolver, Query substitutedQuery)
          Implements default routing mechanism relying on the EntityResolver to find DataMap based on the query root.
 void setName(String name)
          Sets a symbolic name of the query.
 void setRoot(Object value)
          Sets the root of the query
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

root

protected Object root
The root object this query. May be an entity name, Java class, ObjEntity or DbEntity, depending on the specific query and how it was constructed.


name

protected String name
Constructor Detail

AbstractQuery

public AbstractQuery()
Method Detail

getName

public String getName()
Returns a symbolic name of the query.

Specified by:
getName in interface Query
Since:
1.1

setName

public void setName(String name)
Sets a symbolic name of the query.

Since:
1.1

getMetaData

public QueryMetadata getMetaData(EntityResolver resolver)
Returns default select parameters.

Specified by:
getMetaData in interface Query
Since:
1.2

getRoot

public Object getRoot()
Returns the root of this query.


setRoot

public void setRoot(Object value)
Sets the root of the query

Parameters:
value - The new root
Throws:
IllegalArgumentException - if value is not a String, ObjEntity, DbEntity, Procedure, DataMap, Class or null.

toString

public String toString()
Overrides:
toString in class Object

createSQLAction

public abstract SQLAction createSQLAction(SQLActionVisitor visitor)
Description copied from interface: Query
A callback method invoked by Cayenne during the final execution phase of the query run. A concrete query implementation is given a chance to decide how it should be handled. Implementors can pick an appropriate method of the SQLActionVisitor to handle itself, create a custom SQLAction of its own, or substitute itself with another query that should be used for SQLAction construction.

Specified by:
createSQLAction in interface Query
Since:
1.2

route

public void route(QueryRouter router,
                  EntityResolver resolver,
                  Query substitutedQuery)
Implements default routing mechanism relying on the EntityResolver to find DataMap based on the query root. This mechanism should be sufficient for most queries that "know" their root.

Specified by:
route in interface Query
Since:
1.2


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.