Package org.apache.cayenne.query
Class QueryChain
- java.lang.Object
-
- org.apache.cayenne.query.QueryChain
-
- All Implemented Interfaces:
Serializable
,Query
public class QueryChain extends Object implements Query
A Query decorator for a collection of other queries. Note that QueryChain will always return DataRows (that is if it returns data), as it has no way of knowing how to convert the results to objects.- Since:
- 1.2
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Collection<Query>
chain
-
Constructor Summary
Constructors Constructor Description QueryChain()
Creates an empty QueryChain.QueryChain(Collection<? extends Query> queries)
Creates a new QueryChain with a collection of Queries.QueryChain(Query[] queries)
Creates a new QueryChain out of an array of queries.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addQuery(Query query)
Adds a query to the chain.SQLAction
createSQLAction(SQLActionVisitor visitor)
Throws an exception as execution should've been delegated to the queries contained in the chain.QueryMetadata
getMetaData(EntityResolver resolver)
Returns default metadata.boolean
isEmpty()
boolean
removeQuery(Query query)
Removes a query from the chain, returning true if the query was indeed present in the chain and was removed.void
route(QueryRouter router, EntityResolver resolver, Query substitutedQuery)
Delegates routing to each individual query in the chain.
-
-
-
Field Detail
-
chain
protected Collection<Query> chain
-
-
Constructor Detail
-
QueryChain
public QueryChain()
Creates an empty QueryChain.
-
QueryChain
public QueryChain(Query[] queries)
Creates a new QueryChain out of an array of queries.
-
QueryChain
public QueryChain(Collection<? extends Query> queries)
Creates a new QueryChain with a collection of Queries.
-
-
Method Detail
-
addQuery
public void addQuery(Query query)
Adds a query to the chain.
-
removeQuery
public boolean removeQuery(Query query)
Removes a query from the chain, returning true if the query was indeed present in the chain and was removed.
-
isEmpty
public boolean isEmpty()
-
route
public void route(QueryRouter router, EntityResolver resolver, Query substitutedQuery)
Delegates routing to each individual query in the chain. If there is no queries, this method does nothing.
-
createSQLAction
public SQLAction createSQLAction(SQLActionVisitor visitor)
Throws an exception as execution should've been delegated to the queries contained in the chain.- Specified by:
createSQLAction
in interfaceQuery
-
getMetaData
public QueryMetadata getMetaData(EntityResolver resolver)
Returns default metadata.- Specified by:
getMetaData
in interfaceQuery
-
-