org.apache.cayenne.query
Interface QueryRouter

All Known Implementing Classes:
DataDomainLegacyQueryAction

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
 QueryEngine engineForDataMap(DataMap map)
          Returns a QueryEngine that is configured to handle a given DataMap.
 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 Detail

route

void route(QueryEngine engine,
           Query query,
           Query substitutedQuery)
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 execution
query - A query to execute.
substitutedQuery - a query that was substituted for "query". Results must be mapped back to substituted query.

engineForDataMap

QueryEngine engineForDataMap(DataMap map)
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.


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