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:
- SpeedoQLVisitor
- public class SpeedoQLQueryFilterVisitor
- extends SpeedoQLAbstractVisitor
Implementation of a visitor that creates the filter
Fields inherited from class org.objectweb.speedo.query.parser.SpeedoQLAbstractVisitor |
CONTAINS_IN, CONTAINS_MEMBEROF, curClass, IS_EMPTY, IS_NOT_EMPTY, JORM_NAME, lastName, logger, NAVIGATION, params, UNDEFINED, vars |
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, 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(QueryTree qtree,
ASTSpeedoQL speedoql)
- Constructor
- Parameters:
qtree
- a QueryTree built with the list of variables, parameters and name.speedoql
- root of the lexical tree of the query
startVisiting
public void startVisiting()
throws java.lang.Exception
- the visit starts here, please before sets a list of variables.
- Throws:
java.lang.Exception
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