org.objectweb.speedo.query.parser
Class SpeedoQLQueryFilterVisitor

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

public class SpeedoQLQueryFilterVisitor
extends SpeedoQLAbstractVisitor

Implementation of a visitor that creates the filter


Nested Class Summary
 
Nested classes inherited from class org.objectweb.speedo.query.parser.SpeedoQLAbstractVisitor
SpeedoQLAbstractVisitor.IdValue, SpeedoQLAbstractVisitor.VisitorException
 
Field Summary
 
Fields inherited from class org.objectweb.speedo.query.parser.SpeedoQLAbstractVisitor
BEGIN_OPERAND_SUBSTRING, CONTAINS_IN, CONTAINS_MEMBEROF, CONTAINS_OPERATOR, curClass, debug, ENDS_WITH_OPERATOR, EQUALS_IGNORE_CASE_OPERATOR, EQUALS_OPERATOR, IS_EMPTY, IS_EMPTY_OPERATOR, 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
SpeedoQLQueryFilterVisitor(java.util.Map _fields, SelectProject _root, ASTSpeedoQL speedoql, Logger logger, java.util.Map hparam, java.util.Map vparam, java.lang.String className, QueryBuilder _qb)
          Constructor
 
Method Summary
 Expression getQueryFilter()
          get the query filter that was built from visiting the syntaxic tree
 void startVisiting()
          the visit starts here, please before sets a list of variables.
 java.lang.Object visit(ASTAdditiveExpression node, java.lang.Object data)
           
 java.lang.Object visit(ASTArgumentList node, java.lang.Object data)
          4 cases to manage: (en cours par equipe MEDOR) - Collection.contains(Object o) - Collection.isEmpty() - String.startsWith(String s) - String.endsWith(String s)
 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)
          qualifiedname could be: - a class field (salary from Employee) - a parameter - a variable
 java.lang.Object visit(ASTRelationalExpression node, java.lang.Object data)
           
 java.lang.Object visit(ASTSpeedoPrimary 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, mergePath, operationToString, setCurrentClass, setLogger, setLoggerFactory, setParams, setVars, splitEndPath, splitPath, visit, visit, visit, withoutThis
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpeedoQLQueryFilterVisitor

public SpeedoQLQueryFilterVisitor(java.util.Map _fields,
                                  SelectProject _root,
                                  ASTSpeedoQL speedoql,
                                  Logger logger,
                                  java.util.Map hparam,
                                  java.util.Map vparam,
                                  java.lang.String className,
                                  QueryBuilder _qb)
                           throws SpeedoException
Constructor

Parameters:
speedoql - root of the lexical tree of the query
Method Detail

startVisiting

public void startVisiting()
                   throws SpeedoException
the visit starts here, please before sets a list of variables.

Throws:
java.lang.Exception
SpeedoException

getQueryFilter

public Expression getQueryFilter()
get the query filter that was built from visiting the syntaxic tree


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(ASTSpeedoPrimary 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)
4 cases to manage: (en cours par equipe MEDOR) - Collection.contains(Object o) - Collection.isEmpty() - String.startsWith(String s) - String.endsWith(String s)

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)
qualifiedname could be: - a class field (salary from Employee) - a parameter - a variable

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