org.objectweb.speedo.runtime.query.parser
Class SpeedoQLQueryFilterVisitor
org.objectweb.speedo.runtime.query.parser.SpeedoQLAbstractVisitor
|
+--org.objectweb.speedo.runtime.query.parser.SpeedoQLQueryFilterVisitor
- All Implemented Interfaces:
- SpeedoQLVisitor
- public class SpeedoQLQueryFilterVisitor
- extends SpeedoQLAbstractVisitor
Implementation of a visitor that creates the filter
Method Summary |
org.objectweb.medor.filter.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.runtime.query.parser.SpeedoQLAbstractVisitor |
alias2fullname, getEndString, getLogger, getLoggerFactory, getMedorFieldFromPath, mergePath, setCurrentClass, setLogger, setLoggerFactory, setParams, setVars, splitEndPath, splitPath, visit, visit, visit, withoutThis |
SpeedoQLQueryFilterVisitor
public SpeedoQLQueryFilterVisitor(org.objectweb.medor.query.api.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 org.objectweb.medor.filter.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)
- Overrides:
visit
in class SpeedoQLAbstractVisitor
visit
public java.lang.Object visit(ASTSpeedoPrimary node,
java.lang.Object data)
- Overrides:
visit
in class SpeedoQLAbstractVisitor
visit
public java.lang.Object visit(ASTRelationalExpression node,
java.lang.Object data)
- Overrides:
visit
in class SpeedoQLAbstractVisitor
visit
public java.lang.Object visit(ASTAdditiveExpression node,
java.lang.Object data)
- Overrides:
visit
in class SpeedoQLAbstractVisitor
visit
public java.lang.Object visit(ASTUnaryExpression node,
java.lang.Object data)
- Overrides:
visit
in class SpeedoQLAbstractVisitor
visit
public java.lang.Object visit(ASTCastExpression node,
java.lang.Object data)
- 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)
- Overrides:
visit
in class SpeedoQLAbstractVisitor
visit
public java.lang.Object visit(ASTLiteral node,
java.lang.Object data)
- Overrides:
visit
in class SpeedoQLAbstractVisitor
visit
public java.lang.Object visit(ASTType node,
java.lang.Object data)
- 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
- Overrides:
visit
in class SpeedoQLAbstractVisitor