org.modeshape.graph.query.optimize
Class RaiseVariableName

java.lang.Object
  extended by org.modeshape.graph.query.optimize.RaiseVariableName
All Implemented Interfaces:
OptimizerRule

@Immutable
public class RaiseVariableName
extends Object
implements OptimizerRule

An optimizer rule that moves up higher in the plan any variable name property to the node immediately under a dependent query node.


Field Summary
static RaiseVariableName INSTANCE
           
 
Constructor Summary
RaiseVariableName()
           
 
Method Summary
 PlanNode execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)
          Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules.
protected  void raiseVariableName(PlanNode node)
           
protected  String removeVariableName(PlanNode node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final RaiseVariableName INSTANCE
Constructor Detail

RaiseVariableName

public RaiseVariableName()
Method Detail

execute

public PlanNode execute(QueryContext context,
                        PlanNode plan,
                        LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules.

Specified by:
execute in interface OptimizerRule
Parameters:
context - the context in which the query is being optimized; never null
plan - the plan to be optimized; never null
ruleStack - the stack of rules that will be run after this rule; never null
Returns:
the optimized plan; never null
See Also:
OptimizerRule.execute(org.modeshape.graph.query.QueryContext, org.modeshape.graph.query.plan.PlanNode, java.util.LinkedList)

raiseVariableName

protected void raiseVariableName(PlanNode node)

removeVariableName

protected String removeVariableName(PlanNode node)


Copyright © 2008-2012 JBoss, a division of Red Hat. All Rights Reserved.