org.ow2.jonas.lib.ejb21.sql
Class EjbqlSelectVisitor

java.lang.Object
  extended by org.ow2.jonas.lib.ejb21.sql.EjbqlAbstractVisitor
      extended by org.ow2.jonas.lib.ejb21.sql.EjbqlSelectVisitor
All Implemented Interfaces:
EJBQLVisitor

public class EjbqlSelectVisitor
extends EjbqlAbstractVisitor

Implementation of a visitor that creates the selection projection for corresponding to a given WHERE clause. Created on Sep 6, 2002

Author:
Christophe Ney [cney@batisseurs.com]: Initial developer, Helene Joanin: Take into account the EJBQL version 2.1 syntax., Helene Joanin: Take into account the aggregate select expression.

Nested Class Summary
 
Nested classes/interfaces inherited from class org.ow2.jonas.lib.ejb21.sql.EjbqlAbstractVisitor
EjbqlAbstractVisitor.IdValue, EjbqlAbstractVisitor.VisitorException
 
Constructor Summary
EjbqlSelectVisitor(ASTEJBQL ejbql, Map _fields, org.objectweb.medor.query.lib.SelectProject sp)
          Constructor
 
Method Summary
 org.objectweb.medor.query.api.QueryTree getQueryTree()
          get the query tree that was built from visiting the lexical tree.
 Object visit(ASTAggregateSelectExpression node, Object data)
          Visit child node
 Object visit(ASTCmpPathExpression node, Object data)
          Visit child node
 Object visit(ASTIdentificationVariable node, Object data)
          Push the Node to the stack
 Object visit(ASTPath node, Object data)
          Push the Node to the stack
 Object visit(ASTSelectClause node, Object data)
          Visit child node.
 Object visit(ASTSelectExpression node, Object data)
          Visit child node
 Object visit(ASTSingleValuedCmrPathExpression node, Object data)
          Visit child node
 Object visit(ASTSingleValuedPathExpression node, Object data)
          Visit child node
 
Methods inherited from class org.ow2.jonas.lib.ejb21.sql.EjbqlAbstractVisitor
basePath, endsWith, mergePath, mergePath, splitPath, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EjbqlSelectVisitor

public EjbqlSelectVisitor(ASTEJBQL ejbql,
                          Map _fields,
                          org.objectweb.medor.query.lib.SelectProject sp)
                   throws Exception
Constructor

Parameters:
ejbql - root of the lexical tree of the query
_fields - Map with (identifier,JormExtent) pairs
Throws:
Exception
Method Detail

getQueryTree

public org.objectweb.medor.query.api.QueryTree getQueryTree()
get the query tree that was built from visiting the lexical tree. This is a nest if there is an aggregate function or a select projet otherwise.


visit

public Object visit(ASTSelectClause node,
                    Object data)
Visit child node. SELECT [ DISTINCT ] {select_expression | OBJECT (identification_variable)}

Specified by:
visit in interface EJBQLVisitor
Overrides:
visit in class EjbqlAbstractVisitor
Parameters:
node - the node to visit
data - the current stack
Returns:
null

visit

public Object visit(ASTSelectExpression node,
                    Object data)
Visit child node

Specified by:
visit in interface EJBQLVisitor
Overrides:
visit in class EjbqlAbstractVisitor
Parameters:
node - the node to visit
data - the current stack
Returns:
null

visit

public Object visit(ASTAggregateSelectExpression node,
                    Object data)
Visit child node

Specified by:
visit in interface EJBQLVisitor
Overrides:
visit in class EjbqlAbstractVisitor
Parameters:
node - the node to visit
data - the current stack
Returns:
null

visit

public Object visit(ASTCmpPathExpression node,
                    Object data)
Visit child node

Specified by:
visit in interface EJBQLVisitor
Overrides:
visit in class EjbqlAbstractVisitor
Parameters:
node - the node to visit
data - the current stack
Returns:
null

visit

public Object visit(ASTSingleValuedCmrPathExpression node,
                    Object data)
Visit child node

Specified by:
visit in interface EJBQLVisitor
Overrides:
visit in class EjbqlAbstractVisitor
Parameters:
node - the node to visit
data - the current stack
Returns:
null

visit

public Object visit(ASTSingleValuedPathExpression node,
                    Object data)
Visit child node

Specified by:
visit in interface EJBQLVisitor
Overrides:
visit in class EjbqlAbstractVisitor
Parameters:
node - the node to visit
data - the current stack
Returns:
null

visit

public Object visit(ASTIdentificationVariable node,
                    Object data)
Push the Node to the stack

Specified by:
visit in interface EJBQLVisitor
Overrides:
visit in class EjbqlAbstractVisitor
Parameters:
node - the node to visit
data - the current stack
Returns:
null

visit

public Object visit(ASTPath node,
                    Object data)
Push the Node to the stack

Specified by:
visit in interface EJBQLVisitor
Overrides:
visit in class EjbqlAbstractVisitor
Parameters:
node - the node to visit
data - the current stack
Returns:
null


Copyright © 2010 OW2 Consortium. All Rights Reserved.