Package org.apache.cayenne.query
Class IndirectQuery
java.lang.Object
org.apache.cayenne.query.IndirectQuery
- All Implemented Interfaces:
- Serializable,- Query
- Direct Known Subclasses:
- AbstractMappedQuery,- ObjectIdQuery,- ProcedureCall,- RelationshipQuery,- SelectById,- SQLExec,- SQLSelect
A base superclass for queries that resolve into some other queries during the
 routing phase. Provides caching of a replacement query.
- Since:
- 1.2
- See Also:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected DataMapprotected EntityResolverprotected Stringprotected Query
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected abstract QuerycreateReplacementQuery(EntityResolver resolver) Creates a substitute query.createSQLAction(SQLActionVisitor visitor) Throws an exception as indirect query should not be executed directly.getMetaData(EntityResolver resolver) Returns the metadata obtained from the replacement query.protected QuerygetReplacementQuery(EntityResolver resolver) Returns a replacement query, creating it on demand and caching it for reuse.voidroute(QueryRouter router, EntityResolver resolver, Query substitutedQuery) Delegates routing to a replacement query.
- 
Field Details- 
name
- 
dataMap- Since:
- 3.1
 
- 
replacementQuery
- 
lastResolver
 
- 
- 
Constructor Details- 
IndirectQuerypublic IndirectQuery()
 
- 
- 
Method Details- 
getMetaDataReturns the metadata obtained from the replacement query.- Specified by:
- getMetaDatain interface- Query
 
- 
routeDelegates routing to a replacement query.
- 
createReplacementQueryCreates a substitute query. An implementor is free to provide an arbitrary replacement query.
- 
getReplacementQueryReturns a replacement query, creating it on demand and caching it for reuse.
- 
createSQLActionThrows an exception as indirect query should not be executed directly.- Specified by:
- createSQLActionin interface- Query
 
 
-