Package org.apache.cayenne.query
Interface QueryRouter
public interface QueryRouter
An interface used by Queries to route themselves to an appropriate QueryEngine. As of
1.2 QueryRouter only supports routing by DataMap.
- Since:
- 1.2
-
Method Summary
Modifier and TypeMethodDescriptionengineForDataMap
(DataMap map) Returns a QueryEngine that is configured to handle a given DataMap.engineForName
(String name) Returns a QueryEngine for a given name.void
route
(QueryEngine engine, Query query, Query substitutedQuery) A callback method that allows a query to set its preferred engine during the routing phase.
-
Method Details
-
route
A callback method that allows a query to set its preferred engine during the routing phase. It allows query to further customize its routing, e.g. it is possible to implement query chains that pass multiple queries for execution.- Parameters:
engine
- engine to use for query executionquery
- A query to execute.substitutedQuery
- a query that was substituted for "query". Results must be mapped back to substituted query.
-
engineForName
Returns a QueryEngine for a given name. If the name is null, a default QueryEngine is returned. If there's no default engine, an exception is thrown.- Since:
- 4.0
-
engineForDataMap
Returns a QueryEngine that is configured to handle a given DataMap.- Throws:
CayenneRuntimeException
- if an engine can't be found.NullPointerException
- if a map parameter is null.
-