public abstract class IndirectQuery extends Object implements Query
Modifier and Type | Field and Description |
---|---|
protected DataMap |
dataMap |
protected EntityResolver |
lastResolver |
protected String |
name |
protected Query |
replacementQuery |
Constructor and Description |
---|
IndirectQuery() |
Modifier and Type | Method and Description |
---|---|
<T> T |
acceptVisitor(ConfigurationNodeVisitor<T> visitor) |
protected abstract Query |
createReplacementQuery(EntityResolver resolver)
Creates a substitute query.
|
SQLAction |
createSQLAction(SQLActionVisitor visitor)
Throws an exception as indirect query should not be executed directly.
|
DataMap |
getDataMap() |
QueryMetadata |
getMetaData(EntityResolver resolver)
Returns the metadata obtained from the replacement query.
|
String |
getName()
Returns a symbolic name of the query.
|
protected Query |
getReplacementQuery(EntityResolver resolver)
Returns a replacement query, creating it on demand and caching it for reuse.
|
void |
route(QueryRouter router,
EntityResolver resolver,
Query substitutedQuery)
Delegates routing to a replacement query.
|
void |
setDataMap(DataMap dataMap) |
void |
setName(String name) |
protected String name
protected DataMap dataMap
protected transient Query replacementQuery
protected transient EntityResolver lastResolver
public <T> T acceptVisitor(ConfigurationNodeVisitor<T> visitor)
acceptVisitor
in interface ConfigurationNode
public DataMap getDataMap()
getDataMap
in interface Query
public void setDataMap(DataMap dataMap)
public QueryMetadata getMetaData(EntityResolver resolver)
getMetaData
in interface Query
public String getName()
Query
public void setName(String name)
public void route(QueryRouter router, EntityResolver resolver, Query substitutedQuery)
protected abstract Query createReplacementQuery(EntityResolver resolver)
protected Query getReplacementQuery(EntityResolver resolver)
public SQLAction createSQLAction(SQLActionVisitor visitor)
createSQLAction
in interface Query
Copyright © 2001–2018 Apache Cayenne. All rights reserved.