org.jboss.ejb.plugins.cmp.jdbc
Class EJBQLToSQL92Compiler

java.lang.Object
  extended byorg.jboss.ejb.plugins.cmp.jdbc.EJBQLToSQL92Compiler
All Implemented Interfaces:
QLCompiler (src)

public final class EJBQLToSQL92Compiler
extends java.lang.Object
implements QLCompiler (src)

Compiles EJB-QL and JBossQL into SQL using OUTER and INNER joins.


Constructor Summary
EJBQLToSQL92Compiler(Catalog (src)  catalog)
           
 
Method Summary
 void compileEJBQL(java.lang.String ejbql, java.lang.Class returnType, java.lang.Class[] parameterTypes, JDBCQueryMetaData (src)  metadata)
           
 void compileJBossQL(java.lang.String ejbql, java.lang.Class returnType, java.lang.Class[] parameterTypes, JDBCQueryMetaData (src)  metadata)
           
 java.util.List getInputParameters()
           
 java.util.List getLeftJoinCMRList()
           
 int getLimitParam()
           
 int getLimitValue()
           
 int getOffsetParam()
           
 int getOffsetValue()
           
 JDBCAbstractEntityBridge (src) getSelectEntity()
           
 JDBCFieldBridge (src) getSelectField()
           
 SelectFunction (src) getSelectFunction()
           
 java.lang.String getSQL()
           
 EntityPersistenceStore (src) getStoreManager()
           
 boolean isSelectEntity()
           
 boolean isSelectField()
           
 java.lang.Object visit(ASTAbs (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTAbstractSchema (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTAnd (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTApproximateNumericLiteral (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTArithmeticComparison (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTArithmeticParenthetical (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTAvg (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTBetween (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTBooleanComparison (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTBooleanLiteral (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTCollectionMemberDeclaration (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTConcat (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTConditionalParenthetical (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTCount (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTDatetimeComparison (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTEJBQL (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTEntityComparison (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTExactNumericLiteral (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTFrom (src)  from, java.lang.Object data)
           
 java.lang.Object visit(ASTIdentifier (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTIn (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTIsEmpty (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTLCase (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTLength (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTLike (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTLimitOffset (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTLocate (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTMax (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTMemberOf (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTMin (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTMod (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTMultDiv (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTNegation (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTNot (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTNullComparison (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTOrderBy (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTOrderByPath (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTOr (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTParameter (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTPath (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTPlusMinus (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTRangeVariableDeclaration (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTSelect (src)  select, java.lang.Object data)
           
 java.lang.Object visit(ASTSqrt (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTStringComparison (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTStringLiteral (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTStringParenthetical (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTSubstring (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTSum (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTUCase (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTValueClassComparison (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTWhereConditionalTerm (src)  node, java.lang.Object data)
           
 java.lang.Object visit(ASTWhere (src)  node, java.lang.Object data)
           
 java.lang.Object visit(SimpleNode (src)  node, java.lang.Object data)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EJBQLToSQL92Compiler

public EJBQLToSQL92Compiler(Catalog (src)  catalog)
Method Detail

compileEJBQL

public void compileEJBQL(java.lang.String ejbql,
                         java.lang.Class returnType,
                         java.lang.Class[] parameterTypes,
                         JDBCQueryMetaData (src)  metadata)
                  throws java.lang.Exception
Specified by:
compileEJBQL in interface QLCompiler (src)
Throws:
java.lang.Exception

compileJBossQL

public void compileJBossQL(java.lang.String ejbql,
                           java.lang.Class returnType,
                           java.lang.Class[] parameterTypes,
                           JDBCQueryMetaData (src)  metadata)
                    throws java.lang.Exception
Specified by:
compileJBossQL in interface QLCompiler (src)
Throws:
java.lang.Exception

getSQL

public java.lang.String getSQL()
Specified by:
getSQL in interface QLCompiler (src)

getOffsetValue

public int getOffsetValue()
Specified by:
getOffsetValue in interface QLCompiler (src)

getOffsetParam

public int getOffsetParam()
Specified by:
getOffsetParam in interface QLCompiler (src)

getLimitValue

public int getLimitValue()
Specified by:
getLimitValue in interface QLCompiler (src)

getLimitParam

public int getLimitParam()
Specified by:
getLimitParam in interface QLCompiler (src)

isSelectEntity

public boolean isSelectEntity()
Specified by:
isSelectEntity in interface QLCompiler (src)

getSelectEntity

public JDBCAbstractEntityBridge (src)  getSelectEntity()
Specified by:
getSelectEntity in interface QLCompiler (src)

isSelectField

public boolean isSelectField()
Specified by:
isSelectField in interface QLCompiler (src)

getSelectField

public JDBCFieldBridge (src)  getSelectField()
Specified by:
getSelectField in interface QLCompiler (src)

getSelectFunction

public SelectFunction (src)  getSelectFunction()
Specified by:
getSelectFunction in interface QLCompiler (src)

getStoreManager

public EntityPersistenceStore (src)  getStoreManager()
Specified by:
getStoreManager in interface QLCompiler (src)

getInputParameters

public java.util.List getInputParameters()
Specified by:
getInputParameters in interface QLCompiler (src)

getLeftJoinCMRList

public java.util.List getLeftJoinCMRList()
Specified by:
getLeftJoinCMRList in interface QLCompiler (src)

visit

public java.lang.Object visit(SimpleNode (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTEJBQL (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTOrderBy (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTOrderByPath (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTLimitOffset (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTSelect (src)  select,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTWhere (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTOr (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTWhereConditionalTerm (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTAnd (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTNot (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTConditionalParenthetical (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTBetween (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTIn (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTLike (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTNullComparison (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTIsEmpty (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTMemberOf (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTStringComparison (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTBooleanComparison (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTDatetimeComparison (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTValueClassComparison (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTEntityComparison (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTArithmeticComparison (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTPlusMinus (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTMultDiv (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTNegation (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTArithmeticParenthetical (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTStringParenthetical (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTConcat (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTSubstring (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTUCase (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTLCase (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTLength (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTLocate (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTAbs (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTSqrt (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTMod (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTAvg (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTMax (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTMin (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTSum (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTCount (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTPath (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTAbstractSchema (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTIdentifier (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTParameter (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTExactNumericLiteral (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTApproximateNumericLiteral (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTStringLiteral (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTBooleanLiteral (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTFrom (src)  from,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTCollectionMemberDeclaration (src)  node,
                              java.lang.Object data)

visit

public java.lang.Object visit(ASTRangeVariableDeclaration (src)  node,
                              java.lang.Object data)