| java.lang.Object org.objectweb.jonas_ejb.lib.EjbqlAbstractVisitor org.objectweb.jonas_ejb.lib.EjbqlVariableVisitor
EjbqlVariableVisitor | public class EjbqlVariableVisitor extends EjbqlAbstractVisitor (Code) | | Implementation of a visitor that creates a map of pairs [name,QueryTreeField]
for all defined identifiers of the query.
author: Christophe Ney [cney@batisseurs.com] Initial developper author: Helene Joanin: author: author: - In the visit of the SELECT clause, do not forget to add the id
author: in the ids structure if its not present. Indeed, the definition of author: this id is done in the FROM clause which is visited later. This is author: needed for ejbSelect query which allows path_expression in the SELECT author: clause. author: - Use of the NavigatorNodeFactory.getIn() for IN in the FROM part
author: instead of NavigatorNodeFactory.getNavigatorNode() author: - Some modifications needed to take into account CollectionValuedPathExpression
author: for the member of and is empty operators. author: - For the MemberOf implementation, do not more build an unique
author: QueryTree, but a Map of pairs [name,QueryTreeField] author: - Add the ORDER BY clause.
author: - Take into account the new interface of NavigatorNodeFactory.
author: - IS EMPTY / IS NOT EMPTY
author: - Take into account the EJBQL version 2.1 syntax.
author:
|
Method Summary | |
public Map | getFields() get the Map that was built from visiting the lexical query tree This map
allows to get the org.objectweb.medor.api.Field from its name (ident or
path). | public void | traceIds(HashMap idsM) | public Object | visit(ASTFromClause node, Object data) | public Object | visit(ASTCollectionMemberDeclaration node, Object data) | public Object | visit(ASTRangeVariableDeclaration node, Object data) | public Object | visit(ASTCollectionValuedPathExpression node, Object data) | public Object | visit(ASTAbstractSchemaName node, Object data) | public Object | visit(ASTIdentifier node, Object data) | public Object | visit(ASTPath node, Object data) | public Object | visit(ASTSelectClause node, Object data) | public Object | visit(ASTSelectExpression node, Object data) | public Object | visit(ASTAggregateSelectExpression node, Object data) | public Object | visit(ASTIdentificationVariable node, Object data) | public Object | visit(ASTSingleValuedPathExpression node, Object data) | public Object | visit(ASTSingleValuedCmrPathExpression node, Object data) | public Object | visit(ASTCmpPathExpression node, Object data) | public Object | visit(ASTWhereClause node, Object data) | public Object | visit(ASTConditionalExpression node, Object data) | public Object | visit(ASTConditionalTerm node, Object data) | public Object | visit(ASTConditionalFactor node, Object data) Visit child nodes and count the number of the unary operator NOT. | public Object | visit(ASTBetweenExpression node, Object data) | public Object | visit(ASTInExpression node, Object data) | public Object | visit(ASTLikeExpression node, Object data) | public Object | visit(ASTNullComparisonExpression node, Object data) | public Object | visit(ASTEmptyCollectionComparisonExpression node, Object data) | public Object | visit(ASTCollectionMemberExpression node, Object data) | public Object | visit(ASTComparisonExpression node, Object data) | public Object | visit(ASTArithmeticExpression node, Object data) | public Object | visit(ASTArithmeticTerm node, Object data) | public Object | visit(ASTArithmeticFactor node, Object data) | public Object | visit(ASTStringExpression node, Object data) | public Object | visit(ASTDatetimeExpression node, Object data) | public Object | visit(ASTBooleanExpression node, Object data) | public Object | visit(ASTEntityBeanExpression node, Object data) | public Object | visit(ASTFunctionsReturningStrings node, Object data) | public Object | visit(ASTFunctionsReturningNumerics node, Object data) | public Object | visit(ASTOrderByClause node, Object data) | public Object | visit(ASTOrderByItem node, Object data) |
EjbqlVariableVisitor | public EjbqlVariableVisitor(ASTEJBQL ejbql, DeploymentDescEjb2 dd, QueryBuilder qb) throws Exception(Code) | | constructor
Parameters: ejbql - root of the lexical tree Parameters: dd - Deployment Descriptor Parameters: qb - query builder used to navigate paths throws: Exception - when error parsing |
getFields | public Map getFields()(Code) | | get the Map that was built from visiting the lexical query tree This map
allows to get the org.objectweb.medor.api.Field from its name (ident or
path).
the Fields map |
traceIds | public void traceIds(HashMap idsM)(Code) | | Trace the given ids structure
Parameters: idsM - identifiocators Map |
visit | public Object visit(ASTFromClause node, Object data)(Code) | | visit child nodes
Parameters: node - the node to visit Parameters: data - the current stack the stack |
visit | public Object visit(ASTIdentifier node, Object data)(Code) | | Store the pair identifier,Node from the Stack in HashMap
Parameters: node - the node to visit Parameters: data - the current stack the stack |
visit | public Object visit(ASTPath node, Object data)(Code) | | Push the Node to the stack
Parameters: node - the node to visit Parameters: data - the current stack the stack |
visit | public Object visit(ASTSelectClause node, Object data)(Code) | | visit child nodes
Parameters: node - the node to visit Parameters: data - the current stack the stack |
visit | public Object visit(ASTWhereClause node, Object data)(Code) | | visit child nodes
Parameters: node - the node to visit Parameters: data - the current stack the stack |
visit | public Object visit(ASTConditionalFactor node, Object data)(Code) | | Visit child nodes and count the number of the unary operator NOT.
Parameters: node - the node to visit Parameters: data - the current stack the stack |
visit | public Object visit(ASTInExpression node, Object data)(Code) | | visit child nodes
Parameters: node - the node to visit Parameters: data - the current stack the stack |
visit | public Object visit(ASTOrderByItem node, Object data)(Code) | | visit child nodes
Parameters: node - the node to visit Parameters: data - the current stack the stack |
Methods inherited from org.objectweb.jonas_ejb.lib.EjbqlAbstractVisitor | protected String[] basePath(String[] path)(Code)(Java Doc) protected boolean endsWith(String[] path, String suffix)(Code)(Java Doc) protected String mergePath(String[] path, int begin, int length)(Code)(Java Doc) protected String mergePath(String[] path)(Code)(Java Doc) protected String[] splitPath(String path)(Code)(Java Doc) public Object visit(SimpleNode node) throws Exception(Code)(Java Doc) public Object visit(SimpleNode node, Object data)(Code)(Java Doc) public Object visit(ASTEJBQL node, Object data)(Code)(Java Doc) public Object visit(ASTFromClause node, Object data)(Code)(Java Doc) public Object visit(ASTCollectionMemberDeclaration node, Object data)(Code)(Java Doc) public Object visit(ASTRangeVariableDeclaration node, Object data)(Code)(Java Doc) public Object visit(ASTSingleValuedPathExpression node, Object data)(Code)(Java Doc) public Object visit(ASTCmpPathExpression node, Object data)(Code)(Java Doc) public Object visit(ASTSingleValuedCmrPathExpression node, Object data)(Code)(Java Doc) public Object visit(ASTCollectionValuedPathExpression node, Object data)(Code)(Java Doc) public Object visit(ASTSelectClause node, Object data)(Code)(Java Doc) public Object visit(ASTSelectExpression node, Object data)(Code)(Java Doc) public Object visit(ASTAggregateSelectExpression node, Object data)(Code)(Java Doc) public Object visit(ASTOrderByClause node, Object data)(Code)(Java Doc) public Object visit(ASTOrderByItem node, Object data)(Code)(Java Doc) public Object visit(ASTLimitClause node, Object data)(Code)(Java Doc) public Object visit(ASTLimitExpression node, Object data)(Code)(Java Doc) public Object visit(ASTWhereClause node, Object data)(Code)(Java Doc) public Object visit(ASTConditionalExpression node, Object data)(Code)(Java Doc) public Object visit(ASTConditionalTerm node, Object data)(Code)(Java Doc) public Object visit(ASTConditionalFactor node, Object data)(Code)(Java Doc) public Object visit(ASTBetweenExpression node, Object data)(Code)(Java Doc) public Object visit(ASTInExpression node, Object data)(Code)(Java Doc) public Object visit(ASTLikeExpression node, Object data)(Code)(Java Doc) public Object visit(ASTNullComparisonExpression node, Object data)(Code)(Java Doc) public Object visit(ASTEmptyCollectionComparisonExpression node, Object data)(Code)(Java Doc) public Object visit(ASTCollectionMemberExpression node, Object data)(Code)(Java Doc) public Object visit(ASTComparisonExpression node, Object data)(Code)(Java Doc) public Object visit(ASTArithmeticExpression node, Object data)(Code)(Java Doc) public Object visit(ASTIntegerLiteral node, Object data)(Code)(Java Doc) public Object visit(ASTFloatingPointLiteral node, Object data)(Code)(Java Doc) public Object visit(ASTArithmeticTerm node, Object data)(Code)(Java Doc) public Object visit(ASTArithmeticFactor node, Object data)(Code)(Java Doc) public Object visit(ASTStringExpression node, Object data)(Code)(Java Doc) public Object visit(ASTDatetimeExpression node, Object data)(Code)(Java Doc) public Object visit(ASTBooleanExpression node, Object data)(Code)(Java Doc) public Object visit(ASTEntityBeanExpression node, Object data)(Code)(Java Doc) public Object visit(ASTFunctionsReturningStrings node, Object data)(Code)(Java Doc) public Object visit(ASTFunctionsReturningNumerics node, Object data)(Code)(Java Doc) public Object visit(ASTAbstractSchemaName node, Object data)(Code)(Java Doc) public Object visit(ASTIdentificationVariable node, Object data)(Code)(Java Doc) public Object visit(ASTIdentifier node, Object data)(Code)(Java Doc) public Object visit(ASTPath node, Object data)(Code)(Java Doc) public Object visit(ASTLiteral node, Object data)(Code)(Java Doc) public Object visit(ASTStringLiteral node, Object data)(Code)(Java Doc) public Object visit(ASTArithmeticLiteral node, Object data)(Code)(Java Doc) public Object visit(ASTBooleanLiteral node, Object data)(Code)(Java Doc) public Object visit(ASTInputParameter node, Object data)(Code)(Java Doc)
|
|
|