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:
org.objectweb.jorm.util.api.Loggable, 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_OPERATOR, curClass, debug, ENDS_WITH_OPERATOR, EQUALS_IGNORE_CASE_OPERATOR, EQUALS_OPERATOR, EXTENT, IN_COLLECTION, IS_EMPTY, IS_EMPTY_OPERATOR, IS_NOT_EMPTY, lastName, LENGTH_OPERAND_SUBSTRING, LENGTH_OPERATOR, logger, MATCHES_OPERATOR, MEMBEROF, 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, org.objectweb.medor.query.lib.SelectProject _root, ASTSpeedoQL speedoql, org.objectweb.util.monolog.api.Logger logger, java.util.Map hparam, java.util.Map vparam, java.lang.Class clazz, org.objectweb.medor.query.jorm.lib.QueryBuilder _qb, JormFactory jf)
           
 
Method Summary
 org.objectweb.medor.expression.api.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,
                                  org.objectweb.medor.query.lib.SelectProject _root,
                                  ASTSpeedoQL speedoql,
                                  org.objectweb.util.monolog.api.Logger logger,
                                  java.util.Map hparam,
                                  java.util.Map vparam,
                                  java.lang.Class clazz,
                                  org.objectweb.medor.query.jorm.lib.QueryBuilder _qb,
                                  JormFactory jf)
                           throws SpeedoException
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 org.objectweb.medor.expression.api.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