org.objectweb.jonas_ejb.lib
Class EjbqlOrderByVisitor

java.lang.Object
  extended by org.objectweb.jonas_ejb.lib.EjbqlAbstractVisitor
      extended by org.objectweb.jonas_ejb.lib.EjbqlOrderByVisitor
All Implemented Interfaces:
EJBQLVisitor

public class EjbqlOrderByVisitor
extends EjbqlAbstractVisitor

Implementation of a visitor that creates a list of org.objectweb.medor.query.api.OrderField to a given ORDER BY clause. Created on Aug 27, 2003

Author:
Helene Joanin

Nested Class Summary
 
Nested classes/interfaces inherited from class org.objectweb.jonas_ejb.lib.EjbqlAbstractVisitor
EjbqlAbstractVisitor.IdValue, EjbqlAbstractVisitor.VisitorException
 
Constructor Summary
EjbqlOrderByVisitor(ASTEJBQL ejbql, java.util.Map _fields)
          Constructor
 
Method Summary
 org.objectweb.medor.query.api.OrderField[] getOrderFields()
          get the that was built from visiting the lexical tree
 java.lang.Object visit(ASTCmpPathExpression node, java.lang.Object data)
          Push corresponding MedorField to the stack.
cmp_path_expression ::= path was in initial BNF cmp_path_expression ::= {identification_variable | single_valued_cmr_path_expression}.cmp_field
 java.lang.Object visit(ASTOrderByClause node, java.lang.Object data)
          Visit child node.
 java.lang.Object visit(ASTOrderByItem node, java.lang.Object data)
          Visit child node.
 java.lang.Object visit(ASTPath node, java.lang.Object data)
          Push the Node to the stack
 
Methods inherited from class org.objectweb.jonas_ejb.lib.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, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EjbqlOrderByVisitor

public EjbqlOrderByVisitor(ASTEJBQL ejbql,
                           java.util.Map _fields)
                    throws java.lang.Exception
Constructor

Parameters:
ejbql - root of the lexical tree of the query
fields - Map with (name,QueryTreeField) pairs of all the variables appear in the query
Throws:
java.lang.Exception
Method Detail

getOrderFields

public org.objectweb.medor.query.api.OrderField[] getOrderFields()
get the that was built from visiting the lexical tree


visit

public java.lang.Object visit(ASTOrderByClause node,
                              java.lang.Object data)
Visit child node. ORDER BY OrderByItem() (, OrderByItem() )*

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 java.lang.Object visit(ASTOrderByItem node,
                              java.lang.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 java.lang.Object visit(ASTCmpPathExpression node,
                              java.lang.Object data)
Push corresponding MedorField to the stack.
cmp_path_expression ::= path was in initial BNF cmp_path_expression ::= {identification_variable | single_valued_cmr_path_expression}.cmp_field

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 java.lang.Object visit(ASTPath node,
                              java.lang.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