org.xcmis.search.query.optimize
Class CriteriaBasedOptimizer
java.lang.Object
org.xcmis.search.query.optimize.CriteriaBasedOptimizer
- All Implemented Interfaces:
- Optimizer
public class CriteriaBasedOptimizer
- extends Object
- implements Optimizer
Optimizer implementation that optimizes a query using a stack of rules. Subclasses can override the
populateCriteriaStack(LinkedList, QueryExecutionPlan) method to define the stack of criteria they'd like to use, including the use of
custom criteria's.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CriteriaBasedOptimizer
public CriteriaBasedOptimizer()
optimize
public QueryExecutionPlan optimize(QueryExecutionContext context,
QueryExecutionPlan plan)
- Description copied from interface:
Optimizer
- Optimize the supplied query plan and produce an executable processor plan.
- Specified by:
optimize in interface Optimizer
- Parameters:
context - the context in which the query is being optimizedplan - the query plan to be optimized
- Returns:
- the optimized query plan; never null
- See Also:
Optimizer.optimize(org.xcmis.search.query.QueryExecutionContext, org.xcmis.search.query.plan.QueryExecutionPlan)
populateCriteriaStack
protected void populateCriteriaStack(LinkedList<OptimizerCriteria> criteriaStack,
QueryExecutionPlan plan)
- Method that is used to create the initial criteria stack. This method can be overridden by subclasses
- Parameters:
ruleStack - the stack where the rules should be placed; never nullhints - the plan hints
Copyright © 2003-2013 eXo Platform SAS. All Rights Reserved.