|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.objectweb.jonas_ejb.lib.EjbqlAbstractVisitor | +--org.objectweb.jonas_ejb.lib.EjbqlQueryFilterVisitor
Implementation of a visitor that creates the filter corresponding to the WHERE clause. Created on Sep 6, 2002
Inner classes inherited from class org.objectweb.jonas_ejb.lib.EjbqlAbstractVisitor |
EjbqlAbstractVisitor.IdValue, EjbqlAbstractVisitor.VisitorException |
Constructor Summary | |
EjbqlQueryFilterVisitor(org.objectweb.medor.query.api.QueryTree _qt,
java.lang.Class[] parameterTypes,
ASTEJBQL ejbql)
Constructor |
Method Summary | |
org.objectweb.medor.filter.api.Expression |
getQueryFilter()
get the query filter that was built from visiting the syntaxic tree |
java.lang.Object |
visit(ASTArithmeticExpression node,
java.lang.Object data)
Push corresponding Expression to the stack. arithmetic_expression ::= arithmetic_term [ { + | - } arithmetic_term ] * |
java.lang.Object |
visit(ASTArithmeticFactor node,
java.lang.Object data)
Push corresponding Expression to the stack. arithmetic_factor ::= [ + |- ] arithmetic_primary |
java.lang.Object |
visit(ASTArithmeticLiteral node,
java.lang.Object data)
Node with value set to litteral arithmetic. |
java.lang.Object |
visit(ASTArithmeticTerm node,
java.lang.Object data)
Push corresponding Expression to the stack. arithmetic_term ::= arithmetic_factor [ { * | / } arithmetic_factor ]* |
java.lang.Object |
visit(ASTBetweenExpression node,
java.lang.Object data)
Push corresponding Expression to the stack. between_expression ::= arithmetic_expression [ NOT ] BETWEEN arithmetic_expression AND arithmetic_expression |
java.lang.Object |
visit(ASTBooleanExpression node,
java.lang.Object data)
Visit child nodes boolean_expression ::= single_valued_path_expression | boolean_literal | input_parameter |
java.lang.Object |
visit(ASTBooleanLiteral node,
java.lang.Object data)
Node with value set to litteral boolean. |
java.lang.Object |
visit(ASTCollectionMemberExpression node,
java.lang.Object data)
Push corresponding Expression to the stack. collection_member_expression ::= {single_valued_navigation | identification_variable | input_parameter} [ NOT ] MEMBER [ OF ] collection_valued_path_expression |
java.lang.Object |
visit(ASTCollectionValuedPathExpression node,
java.lang.Object data)
Push corresponding MedorField to the stack. collection_valued_path_expression ::= path was in initial BNF collection_valued_path_expression ::= identification_variable. [ |
java.lang.Object |
visit(ASTComparisonExpression node,
java.lang.Object data)
Push corresponding Expression to the stack. comparison_expression ::= string_value { =|<>} string_expression | boolean_value { =|<>} boolean_expression | datetime_value { = | <> | > | < } datetime_expression | entity_bean_value { = | <> } entity_bean_expression | arithmetic_value { = | > | >= | < | <= | <> } single_value_designator |
java.lang.Object |
visit(ASTConditionalExpression node,
java.lang.Object data)
Push corresponding Expression to the stack. conditional_expression ::= conditional_term [ OR conditional_term ]* |
java.lang.Object |
visit(ASTConditionalFactor node,
java.lang.Object data)
Push corresponding Expression to the stack. conditional_factor ::= [ NOT ] conditional_test |
java.lang.Object |
visit(ASTConditionalTerm node,
java.lang.Object data)
Push corresponding Expression to the stack. conditional_term ::= conditional_factor [ AND conditional_factor ]* |
java.lang.Object |
visit(ASTDatetimeExpression node,
java.lang.Object data)
Visit child nodes datetime_expression ::= datetime_value | input_parameter |
java.lang.Object |
visit(ASTEmptyCollectionComparisonExpression node,
java.lang.Object data)
Push corresponding Expression to the stack. empty_collection_comparison_expression ::= collection_valued_path_expression IS [ NOT ] EMPTY |
java.lang.Object |
visit(ASTEntityBeanExpression node,
java.lang.Object data)
Visit child nodes entity_bean_expression ::= entity_bean_value | input_parameter |
java.lang.Object |
visit(ASTFunctionsReturningNumerics node,
java.lang.Object data)
visit child nodes Push corresponding Expression to the stack. functions_returning_numerics ::= LENGTH (string_expression) | LOCATE (string_expression, string_expression [ , arithmetic_expression ] ) | ABS (arithmetic_expression) | SQRT (arithmetic_expression) |
java.lang.Object |
visit(ASTFunctionsReturningStrings node,
java.lang.Object data)
visit child nodes Push corresponding Expression to the stack. functions_returning_strings ::= CONCAT (string_expression, string_expression) | SUBSTRING (string_expression,arithmetic_expression,arithmetic_expression) |
java.lang.Object |
visit(ASTIdentificationVariable node,
java.lang.Object data)
Node with value set to identification variable string. |
java.lang.Object |
visit(ASTInExpression node,
java.lang.Object data)
Push corresponding Expression to the stack. in_expression ::= single_valued_path_expression [ NOT ] IN (string_literal [ , string_literal ] * ) |
java.lang.Object |
visit(ASTInputParameter node,
java.lang.Object data)
Node with value set to parameter index (1..n) string. |
java.lang.Object |
visit(ASTLikeExpression node,
java.lang.Object data)
Push corresponding Expression to the stack. like_expression ::= single_valued_path_expression [ NOT ] LIKE pattern_value [ ESCAPE escape_character ] |
java.lang.Object |
visit(ASTNullComparisonExpression node,
java.lang.Object data)
Push corresponding Expression to the stack. null_comparison_expression ::= single_valued_path_expression IS [ NOT ] NULL |
java.lang.Object |
visit(ASTPath node,
java.lang.Object data)
Push the Node to the stack |
java.lang.Object |
visit(ASTSingleValuedNavigation node,
java.lang.Object data)
Push corresponding MedorField to the stack. single_valued_navigation ::= path was in initial BNF single_valued_navigation ::= identification_variable. [ |
java.lang.Object |
visit(ASTSingleValuedPathExpression node,
java.lang.Object data)
Push corresponding MedorField to the stack. single_valued_path_expression ::= path was in initial BNF single_valued_path_expression ::= {single_valued_navigation | identification_variable}.cmp_field | single_valued_navigation |
java.lang.Object |
visit(ASTStringExpression node,
java.lang.Object data)
Visit child nodes string_expression ::= string_primary | input_parameter |
java.lang.Object |
visit(ASTStringLiteral node,
java.lang.Object data)
Node with value set to litteral string. |
java.lang.Object |
visit(ASTWhereClause node,
java.lang.Object data)
If query contains WHERE clause, visit child nodes where_clause ::= WHERE conditional_expression |
Methods inherited from class org.objectweb.jonas_ejb.lib.EjbqlAbstractVisitor |
getMedorFieldFromPath, mergePath, splitPath, visit, visit, visit, visit, visit, visit, visit, visit, visit |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public EjbqlQueryFilterVisitor(org.objectweb.medor.query.api.QueryTree _qt, java.lang.Class[] parameterTypes, ASTEJBQL ejbql) throws java.lang.Exception
ids
- Map with (identifier,JormExtent) pairsparameterTypes
- Type of paramaters of the finder/select methodejbql
- root of the lexical tree of the queryMethod Detail |
public org.objectweb.medor.filter.api.Expression getQueryFilter()
public java.lang.Object visit(ASTWhereClause node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTSingleValuedPathExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTSingleValuedNavigation node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTCollectionValuedPathExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTConditionalExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTConditionalTerm node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTConditionalFactor node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTBetweenExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTInExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTLikeExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTNullComparisonExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTEmptyCollectionComparisonExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTCollectionMemberExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTComparisonExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTArithmeticExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTArithmeticTerm node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTArithmeticFactor node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTStringExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTDatetimeExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTBooleanExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTEntityBeanExpression node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTFunctionsReturningStrings node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTFunctionsReturningNumerics node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTIdentificationVariable node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTStringLiteral node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTArithmeticLiteral node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTBooleanLiteral node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTInputParameter node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
public java.lang.Object visit(ASTPath node, java.lang.Object data)
visit
in class EjbqlAbstractVisitor
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |