org.objectweb.speedo.query.parser
Class SpeedoQLQueryFilterVisitor
java.lang.Object
org.objectweb.speedo.query.parser.SpeedoQLAbstractVisitor
org.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
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 |
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
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