org.objectweb.jonas_ejb.lib
Class EjbqlQueryTreeHolder

java.lang.Object
  |
  +--org.objectweb.jonas_ejb.lib.EjbqlQueryTreeHolder

public class EjbqlQueryTreeHolder
extends java.lang.Object

Class to hold the query tree of a given EJBQL request. This allows walking the JormExtents of the tree to set the mappers.

Author:
Christophe Ney - cney@batisseurs.com

Constructor Summary
EjbqlQueryTreeHolder(MethodCmp2Desc mDesc, ASTEJBQL ejbql)
          constructor of a holder for a specific query.
 
Method Summary
 org.objectweb.medor.eval.api.QueryEvaluator getOptimizedQueryTree()
          Get the query evaluator of the optimized query.
 org.objectweb.medor.optim.api.QueryTransformer getQueryOptimizer()
          get the current query tree optimizer
 org.objectweb.medor.query.api.QueryTree getQueryTree()
          get the query tree that was built from visiting the lexical tree
 void setQueryOptimizer(org.objectweb.medor.optim.api.QueryTransformer qtf)
          Set the optimizer to be used when optimizing the query tree
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EjbqlQueryTreeHolder

public EjbqlQueryTreeHolder(MethodCmp2Desc mDesc,
                            ASTEJBQL ejbql)
                     throws java.lang.Exception
constructor of a holder for a specific query.
Parameters:
mDesc - JOnAS meta-information for the corresponding finder/select method
ejbql - root of the lexical tree of the query
Method Detail

getQueryTree

public org.objectweb.medor.query.api.QueryTree getQueryTree()
get the query tree that was built from visiting the lexical tree

setQueryOptimizer

public void setQueryOptimizer(org.objectweb.medor.optim.api.QueryTransformer qtf)
Set the optimizer to be used when optimizing the query tree

getQueryOptimizer

public org.objectweb.medor.optim.api.QueryTransformer getQueryOptimizer()
get the current query tree optimizer

getOptimizedQueryTree

public org.objectweb.medor.eval.api.QueryEvaluator getOptimizedQueryTree()
                                                                  throws java.lang.Exception
Get the query evaluator of the optimized query. The query is optimized on first call. All mappers of the query should have been already set with the help of the iterator returned by the getJormExtentIterator method.