Java Doc for EjbqlQueryFilterVisitor.java in  » J2EE » JOnAS-4.8.6 » org » objectweb » jonas_ejb » lib » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » J2EE » JOnAS 4.8.6 » org.objectweb.jonas_ejb.lib 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.objectweb.jonas_ejb.lib.EjbqlAbstractVisitor
      org.objectweb.jonas_ejb.lib.EjbqlQueryFilterVisitor

EjbqlQueryFilterVisitor
public class EjbqlQueryFilterVisitor extends EjbqlAbstractVisitor (Code)
Implementation of a visitor that creates the filter corresponding to the WHERE clause. Created on Sep 6, 2002
author:
   Christophe Ney [cney@batisseurs.com] : Intial developer
author:
   Helene Joanin: Take into account the following operators
author:
   abs(x), sqrt(x),
author:
   length(str), substring(s, start, length),
author:
   locate(str1, str2), locate(str1, str2, start).
author:
   Helene Joanin: EJBLocalObject as parameter of a EJB-QL query.
author:
   Helene Joanin: Take into account the InExpression (IN operator).
author:
   Helene Joanin: Take into account the IS NULL operator.
author:
   Helene Joanin: Fix a bug in the visitor for ASTIdentificationVariable:
author:
   push a BasicFieldOperand(field) instead of the field itself.
author:
   Helene Joanin: add '.element' to the path for CollectionValuedPathExpression.
author:
   Helene Joanin: Convert IsNull(cmr-field) to Equal(cmr-field, PNameNull).
author:
   Helene Joanin: Take into account the operators: IS EMPTY / IS NOT EMPTY
author:
   Helene Joanin: Take into account the CONCAT operator
author:
   Helene Joanin: Take into account the EJBQL version 2.1 syntax.
author:
   Helene Joanin: Take into account the operator MOD.
author:
   Helene Joanin: Take into account the operator ISNULL with a parameter.


Field Summary
final static  StringOP_IGNORE
    
 Mapfields
    
 PMappermapper
    
 Class[]parameterTypes
    
 QueryBuilderqb
    
 Expressionqf
    

Constructor Summary
public  EjbqlQueryFilterVisitor(PMapper _mapper, Map _fields, Class[] parameterTypes, ASTEJBQL ejbql, QueryBuilder qb)
    

Method Summary
public  ExpressiongetQueryFilter()
    
public  Objectvisit(ASTWhereClause node, Object data)
    
public  Objectvisit(ASTSingleValuedPathExpression node, Object data)
    
public  Objectvisit(ASTCmpPathExpression node, Object data)
     Push corresponding MedorField to the stack.
cmp_path_expression ::= path was in initial BNF cmp_path_expression ::= identification_variable.
public  Objectvisit(ASTSingleValuedCmrPathExpression node, Object data)
     Push corresponding MedorField to the stack.
single_valued_cmr_path_expression ::= path was in initial BNF single_valued_cmr_path_expression ::= identification_variable.
public  Objectvisit(ASTCollectionValuedPathExpression node, Object data)
     Push corresponding MedorField to the stack.
collection_valued_path_expression ::= path was in initial BNF collection_valued_path_expression ::= identification_variable.
public  Objectvisit(ASTConditionalExpression node, Object data)
    
public  Objectvisit(ASTConditionalTerm node, Object data)
    
public  Objectvisit(ASTConditionalFactor node, Object data)
    
public  Objectvisit(ASTBetweenExpression node, Object data)
    
public  Objectvisit(ASTInExpression node, Object data)
    
public  Objectvisit(ASTLikeExpression node, Object data)
    
public  Objectvisit(ASTNullComparisonExpression node, Object data)
    
public  Objectvisit(ASTEmptyCollectionComparisonExpression node, Object data)
    
public  Objectvisit(ASTCollectionMemberExpression node, Object data)
    
public  Objectvisit(ASTComparisonExpression node, Object data)
    
public  Objectvisit(ASTArithmeticExpression node, Object data)
    
public  Objectvisit(ASTArithmeticTerm node, Object data)
    
public  Objectvisit(ASTArithmeticFactor node, Object data)
    
public  Objectvisit(ASTStringExpression node, Object data)
    
public  Objectvisit(ASTDatetimeExpression node, Object data)
    
public  Objectvisit(ASTBooleanExpression node, Object data)
    
public  Objectvisit(ASTEntityBeanExpression node, Object data)
    
public  Objectvisit(ASTFunctionsReturningStrings node, Object data)
    
public  Objectvisit(ASTFunctionsReturningNumerics node, Object data)
    
public  Objectvisit(ASTIdentificationVariable node, Object data)
     Node with value set to identification variable string.
public  Objectvisit(ASTLiteral node, Object data)
    
public  Objectvisit(ASTStringLiteral node, Object data)
     Node with value set to litteral string.
public  Objectvisit(ASTArithmeticLiteral node, Object data)
    
public  Objectvisit(ASTIntegerLiteral node, Object data)
     Node with value set to integer litteral arithmetic.
public  Objectvisit(ASTFloatingPointLiteral node, Object data)
     Node with value set to integer litteral arithmetic.
public  Objectvisit(ASTBooleanLiteral node, Object data)
     Node with value set to litteral boolean.
public  Objectvisit(ASTInputParameter node, Object data)
     Node with value set to parameter index (1..n) string.
public  Objectvisit(ASTPath node, Object data)
    

Field Detail
OP_IGNORE
final static String OP_IGNORE(Code)



fields
Map fields(Code)



mapper
PMapper mapper(Code)



parameterTypes
Class[] parameterTypes(Code)



qb
QueryBuilder qb(Code)



qf
Expression qf(Code)




Constructor Detail
EjbqlQueryFilterVisitor
public EjbqlQueryFilterVisitor(PMapper _mapper, Map _fields, Class[] parameterTypes, ASTEJBQL ejbql, QueryBuilder qb) throws Exception(Code)
Constructor
Parameters:
  _mapper - the mapper of each fields.Needed to build the expression for the IsNull with a reference as an operand.This parameter may be null in case of the GenIC phase
Parameters:
  _fields - QueryTreeFields for all defined identifiers and all path expression of the query
Parameters:
  parameterTypes - Type of paramaters of the finder/select method
Parameters:
  ejbql - root of the lexical tree of the query




Method Detail
getQueryFilter
public Expression getQueryFilter()(Code)
get the query filter that was built from visiting the syntaxic tree



visit
public Object visit(ASTWhereClause node, Object data)(Code)
If query contains WHERE clause, visit child nodes
where_clause ::= WHERE conditional_expression



visit
public Object visit(ASTSingleValuedPathExpression node, Object data)(Code)
Push corresponding MedorField to the stack.
single_valued_path_expression ::= path was in initial BNF single_valued_path_expression ::= cmp_path_expression | single_valued_cmr_path_expression



visit
public Object visit(ASTCmpPathExpression node, Object data)(Code)
Push corresponding MedorField to the stack.
cmp_path_expression ::= path was in initial BNF cmp_path_expression ::= identification_variable. [ single_valued_cmr_field. ] * cmp_field



visit
public Object visit(ASTSingleValuedCmrPathExpression node, Object data)(Code)
Push corresponding MedorField to the stack.
single_valued_cmr_path_expression ::= path was in initial BNF single_valued_cmr_path_expression ::= identification_variable. [ single_valued_cmr_field. ] * single_valued_cmr_field



visit
public Object visit(ASTCollectionValuedPathExpression node, Object data)(Code)
Push corresponding MedorField to the stack.
collection_valued_path_expression ::= path was in initial BNF collection_valued_path_expression ::= identification_variable. [ single_valued_cmr_field. ] *collection_valued_cmr_field



visit
public Object visit(ASTConditionalExpression node, Object data)(Code)
Push corresponding Expression to the stack.
conditional_expression ::= conditional_term [ OR conditional_term ]*



visit
public Object visit(ASTConditionalTerm node, Object data)(Code)
Push corresponding Expression to the stack.
conditional_term ::= conditional_factor [ AND conditional_factor ]*



visit
public Object visit(ASTConditionalFactor node, Object data)(Code)
Push corresponding Expression to the stack.
conditional_factor ::= [ NOT ] conditional_test



visit
public Object visit(ASTBetweenExpression node, Object data)(Code)
Push corresponding Expression to the stack.
between_expression ::= arithmetic_expression [ NOT ] BETWEEN arithmetic_expression AND arithmetic_expression



visit
public Object visit(ASTInExpression node, Object data)(Code)
Push corresponding Expression to the stack.
in_expression ::= cmp_path_expression [ NOT ] IN {literal|input_parameter} [ , {literal|input_parameter} ] * )



visit
public Object visit(ASTLikeExpression node, Object data)(Code)
Push corresponding Expression to the stack.
like_expression ::= cmp_path_expression [ NOT ] LIKE pattern_value [ ESCAPE escape_character ]



visit
public Object visit(ASTNullComparisonExpression node, Object data)(Code)
Push corresponding Expression to the stack.
null_comparison_expression ::= {single_valued_path_expression|input_parameter} IS [ NOT ] NULL



visit
public Object visit(ASTEmptyCollectionComparisonExpression node, Object data)(Code)
Nothing to do: Already taken into account in EjbqlVariableVisitor at the variables parsing, so, just push the OP_IGNORE in the stack empty_collection_comparison_expression ::= collection_valued_path_expression IS [ NOT ] EMPTY



visit
public Object visit(ASTCollectionMemberExpression node, Object data)(Code)
Push corresponding Expression to the stack.
collection_member_expression ::= {single_valued_cmr_path_expression | identification_variable | input_parameter} [ NOT ] MEMBER [ OF ] collection_valued_path_expression



visit
public Object visit(ASTComparisonExpression node, Object data)(Code)
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



visit
public Object visit(ASTArithmeticExpression node, Object data)(Code)
Push corresponding Expression to the stack.
arithmetic_expression ::= arithmetic_term [ { + | - } arithmetic_term ] *



visit
public Object visit(ASTArithmeticTerm node, Object data)(Code)
Push corresponding Expression to the stack.
arithmetic_term ::= arithmetic_factor [ { * | / } arithmetic_factor ]*



visit
public Object visit(ASTArithmeticFactor node, Object data)(Code)
Push corresponding Expression to the stack.
arithmetic_factor ::= [ + |- ] arithmetic_primary



visit
public Object visit(ASTStringExpression node, Object data)(Code)
Visit child nodes string_expression ::= string_primary | input_parameter



visit
public Object visit(ASTDatetimeExpression node, Object data)(Code)
Visit child nodes datetime_expression ::= datetime_value | input_parameter



visit
public Object visit(ASTBooleanExpression node, Object data)(Code)
Visit child nodes boolean_expression ::= cmp_path_expression | boolean_literal | input_parameter



visit
public Object visit(ASTEntityBeanExpression node, Object data)(Code)
Visit child nodes entity_bean_expression ::= entity_bean_value | input_parameter



visit
public Object visit(ASTFunctionsReturningStrings node, Object data)(Code)
visit child nodes Push corresponding Expression to the stack.
functions_returning_strings ::= CONCAT (string_expression, string_expression) | SUBSTRING (string_expression,arithmetic_expression,arithmetic_expression)



visit
public Object visit(ASTFunctionsReturningNumerics node, Object data)(Code)
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) | MOD (arithmetic_expression , arithmetic_expression)



visit
public Object visit(ASTIdentificationVariable node, Object data)(Code)
Node with value set to identification variable string. Push the Node to the stack



visit
public Object visit(ASTLiteral node, Object data)(Code)
Visit child nodes literal ::= string_literal | arithmetic_literal | boolean_literal



visit
public Object visit(ASTStringLiteral node, Object data)(Code)
Node with value set to litteral string. Push the corresponding Operand to the stack



visit
public Object visit(ASTArithmeticLiteral node, Object data)(Code)
Visit child nodes arithmetic_literal ::= integer_literal | floatingpoint_literal



visit
public Object visit(ASTIntegerLiteral node, Object data)(Code)
Node with value set to integer litteral arithmetic. Push the corresponding Operand to the stack



visit
public Object visit(ASTFloatingPointLiteral node, Object data)(Code)
Node with value set to integer litteral arithmetic. Push the corresponding Operand to the stack



visit
public Object visit(ASTBooleanLiteral node, Object data)(Code)
Node with value set to litteral boolean. Push the corresponding Operand to the stack



visit
public Object visit(ASTInputParameter node, Object data)(Code)
Node with value set to parameter index (1..n) string. Push the corresponding Operand to the stack



visit
public Object visit(ASTPath node, Object data)(Code)
Push the Node to 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)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.