org.xcmis.search.query.optimize
Class CriteriaBasedOptimizer

java.lang.Object
  extended by 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.


Constructor Summary
CriteriaBasedOptimizer()
           
 
Method Summary
 QueryExecutionPlan optimize(QueryExecutionContext context, QueryExecutionPlan plan)
          Optimize the supplied query plan and produce an executable processor plan.
protected  void populateCriteriaStack(LinkedList<OptimizerCriteria> criteriaStack, QueryExecutionPlan plan)
          Method that is used to create the initial criteria stack.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CriteriaBasedOptimizer

public CriteriaBasedOptimizer()
Method Detail

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 optimized
plan - 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 null
hints - the plan hints


Copyright © 2003-2013 eXo Platform SAS. All Rights Reserved.