org.objectweb.speedo.query.parser
Class SpeedoQLVariableVisitor

java.lang.Object
  extended byorg.objectweb.speedo.query.parser.SpeedoQLAbstractVisitor
      extended byorg.objectweb.speedo.query.parser.SpeedoQLVariableVisitor
All Implemented Interfaces:
SpeedoQLVisitor

public class SpeedoQLVariableVisitor
extends SpeedoQLAbstractVisitor

Implementation of a visitor that creates a map of pairs [id,JormExtent] for all defined identifiers of the query.


Nested Class Summary
 
Nested classes inherited from class org.objectweb.speedo.query.parser.SpeedoQLAbstractVisitor
SpeedoQLAbstractVisitor.IdValue, SpeedoQLAbstractVisitor.VisitorException
 
Field Summary
 ClassExtent classExtent
           
 
Fields inherited from class org.objectweb.speedo.query.parser.SpeedoQLAbstractVisitor
BEGIN_OPERAND_SUBSTRING, CONTAINS_IN, CONTAINS_MEMBEROF, curClass, ENDS_WITH_OPERATOR, EQUALS_IGNORE_CASE_OPERATOR, EQUALS_OPERATOR, IS_EMPTY, IS_NOT_EMPTY, JORM_NAME, lastName, LENGTH_OPERAND_SUBSTRING, LENGTH_OPERATOR, logger, MATCHES_OPERATOR, METHODS_OPERATOR, NAVIGATION, params, STARTS_WITH_OPERATOR, STR_OPERAND_SUBSTRING, SUBSTRING_OPERATOR, TO_LOWER_OPERATOR, TO_UPPER_OPERATOR, UNDEFINED, vars
 
Constructor Summary
SpeedoQLVariableVisitor(SimpleNode speedoql, PMapper mapper)
          constructor
 
Method Summary
 QueryTree getQueryTree()
          get the Map that was built from visiting the lexical query tree
 void manageName(java.util.Stack stack, java.lang.String name, java.lang.String[] splitted)
           
 void setOrders(java.util.List orders)
           
 void startVisiting()
          The visit of the tree starts here.
 java.lang.Object visit(ASTAdditiveExpression node, java.lang.Object data)
           
 java.lang.Object visit(ASTArgumentList node, java.lang.Object data)
           
 java.lang.Object visit(ASTCastExpression node, java.lang.Object data)
           
 java.lang.Object visit(ASTLiteral node, java.lang.Object data)
           
 java.lang.Object visit(ASTPrimary node, java.lang.Object data)
           
 java.lang.Object visit(ASTQualifiedName node, java.lang.Object data)
           
 java.lang.Object visit(ASTRelationalExpression node, java.lang.Object data)
           
 java.lang.Object visit(ASTSpeedoPrimary node, java.lang.Object data)
          ********************* VISITOR METHODS ***********************************
 java.lang.Object visit(ASTSpeedoQL node, java.lang.Object data)
           
 java.lang.Object visit(ASTType node, java.lang.Object data)
           
 java.lang.Object visit(ASTUnaryExpression node, java.lang.Object data)
           
 
Methods inherited from class org.objectweb.speedo.query.parser.SpeedoQLAbstractVisitor
alias2fullname, buildStringwithout, getEndString, getLogger, getLoggerFactory, getMedorFieldFromPath, isMethodOperator, mergePath, operationToString, setCurrentClass, setLogger, setLoggerFactory, setParams, setVars, splitEndPath, splitPath, visit, visit, withoutThis
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

classExtent

public ClassExtent classExtent
Constructor Detail

SpeedoQLVariableVisitor

public SpeedoQLVariableVisitor(SimpleNode speedoql,
                               PMapper mapper)
constructor

Parameters:
speedoql - root of the lexical tree
mapper - is the JORM mapper
Method Detail

setOrders

public void setOrders(java.util.List orders)

startVisiting

public void startVisiting()
                   throws java.lang.Exception
The visit of the tree starts here. Please setup current class, params and vars hashtable before calling this method.

Throws:
java.lang.Exception

getQueryTree

public QueryTree getQueryTree()
get the Map that was built from visiting the lexical query tree


visit

public java.lang.Object visit(ASTSpeedoPrimary node,
                              java.lang.Object data)
********************* VISITOR METHODS ***********************************

Specified by:
visit in interface SpeedoQLVisitor
Overrides:
visit in class SpeedoQLAbstractVisitor

visit

public java.lang.Object visit(ASTSpeedoQL node,
                              java.lang.Object data)
Specified by:
visit in interface SpeedoQLVisitor
Overrides:
visit in class SpeedoQLAbstractVisitor

visit

public java.lang.Object visit(ASTPrimary node,
                              java.lang.Object data)
Specified by:
visit in interface SpeedoQLVisitor
Overrides:
visit in class SpeedoQLAbstractVisitor

visit

public java.lang.Object visit(ASTRelationalExpression node,
                              java.lang.Object data)
Specified by:
visit in interface SpeedoQLVisitor
Overrides:
visit in class SpeedoQLAbstractVisitor

visit

public java.lang.Object visit(ASTAdditiveExpression node,
                              java.lang.Object data)
Specified by:
visit in interface SpeedoQLVisitor
Overrides:
visit in class SpeedoQLAbstractVisitor

visit

public java.lang.Object visit(ASTUnaryExpression node,
                              java.lang.Object data)
Specified by:
visit in interface SpeedoQLVisitor
Overrides:
visit in class SpeedoQLAbstractVisitor

visit

public java.lang.Object visit(ASTCastExpression node,
                              java.lang.Object data)
Specified by:
visit in interface SpeedoQLVisitor
Overrides:
visit in class SpeedoQLAbstractVisitor

visit

public java.lang.Object visit(ASTArgumentList node,
                              java.lang.Object data)
Specified by:
visit in interface SpeedoQLVisitor
Overrides:
visit in class SpeedoQLAbstractVisitor

visit

public java.lang.Object visit(ASTLiteral node,
                              java.lang.Object data)
Specified by:
visit in interface SpeedoQLVisitor
Overrides:
visit in class SpeedoQLAbstractVisitor

visit

public java.lang.Object visit(ASTType node,
                              java.lang.Object data)
Specified by:
visit in interface SpeedoQLVisitor
Overrides:
visit in class SpeedoQLAbstractVisitor

visit

public java.lang.Object visit(ASTQualifiedName node,
                              java.lang.Object data)
Specified by:
visit in interface SpeedoQLVisitor
Overrides:
visit in class SpeedoQLAbstractVisitor

manageName

public void manageName(java.util.Stack stack,
                       java.lang.String name,
                       java.lang.String[] splitted)