org.objectweb.jonas_ejb.lib.EjbqlQueryTreeHolder Class Reference

Collaboration diagram for org.objectweb.jonas_ejb.lib.EjbqlQueryTreeHolder:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 EjbqlQueryTreeHolder (MethodCmp2Desc mDesc, ASTEJBQL ejbql, PMapper mapper) throws Exception
QueryTree getQueryTree ()
void setQueryOptimizer (QueryTransformer qtf)
QueryTransformer getQueryOptimizer ()
Field getResField ()
EjbqlLimiterRange[] getLimiterRanges ()
QueryEvaluator getOptimizedQueryTree () throws Exception

Detailed Description

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 : Initial developer

Helene Joanin: Take into account the ORDER BY clause.

Sebastien Chassande-Barrioz & Helene Joanin: prefetch code

Helene Joanin: Take into account the aggregate select expression.

Cyrille Blot: Take into account the LIMIT clause

Definition at line 64 of file EjbqlQueryTreeHolder.java.


Constructor & Destructor Documentation

org.objectweb.jonas_ejb.lib.EjbqlQueryTreeHolder.EjbqlQueryTreeHolder MethodCmp2Desc  mDesc,
ASTEJBQL  ejbql,
PMapper  mapper
throws 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
mapper mapper to associate at each leaves of the QueryTree. The mapper may be null in case of the QueryTree is build in the GenIC phase.

Definition at line 89 of file EjbqlQueryTreeHolder.java.

References org.objectweb.jonas_ejb.deployment.api.BeanDesc.getDeploymentDesc(), org.objectweb.jonas_ejb.deployment.api.EntityCmp2Desc.getJormClassName(), org.objectweb.jonas_ejb.deployment.api.DeploymentDescEjb2.getJormManager(), and org.objectweb.jonas_ejb.lib.EjbqlSelectVisitor.getQueryTree().

Here is the call graph for this function:


Member Function Documentation

EjbqlLimiterRange [] org.objectweb.jonas_ejb.lib.EjbqlQueryTreeHolder.getLimiterRanges  ) 
 

Returns:
returns the limiter ranges of the LIMIT clause. May be 0 element if no LIMIT clause, 1 or 2 elements otherwise.

Definition at line 212 of file EjbqlQueryTreeHolder.java.

QueryEvaluator org.objectweb.jonas_ejb.lib.EjbqlQueryTreeHolder.getOptimizedQueryTree  )  throws 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.

Definition at line 221 of file EjbqlQueryTreeHolder.java.

QueryTransformer org.objectweb.jonas_ejb.lib.EjbqlQueryTreeHolder.getQueryOptimizer  ) 
 

get the current query tree optimizer

Definition at line 198 of file EjbqlQueryTreeHolder.java.

Referenced by org.objectweb.jonas_ejb.container.jorm.MedorFactory.getOptimizedRequest().

QueryTree org.objectweb.jonas_ejb.lib.EjbqlQueryTreeHolder.getQueryTree  ) 
 

get the query tree that was built from visiting the lexical tree

Definition at line 183 of file EjbqlQueryTreeHolder.java.

Field org.objectweb.jonas_ejb.lib.EjbqlQueryTreeHolder.getResField  ) 
 

get the Medor result Field of the query (useful for the ejbSelect method)

Definition at line 205 of file EjbqlQueryTreeHolder.java.

void org.objectweb.jonas_ejb.lib.EjbqlQueryTreeHolder.setQueryOptimizer QueryTransformer  qtf  ) 
 

Set the optimizer to be used when optimizing the query tree

Definition at line 190 of file EjbqlQueryTreeHolder.java.

Referenced by org.objectweb.jonas_ejb.container.jorm.MedorFactory.getOptimizedRequest().


The documentation for this class was generated from the following file:
Generated on Tue Feb 15 15:11:58 2005 for JOnAS by  doxygen 1.3.9.1