org.outerj.xreporter.report.definition
Class SqlDefinition

java.lang.Object
  extended byorg.apache.avalon.framework.logger.AbstractLogEnabled
      extended byorg.outerj.xreporter.report.definition.SqlDefinition
All Implemented Interfaces:
org.apache.avalon.framework.logger.LogEnabled

public class SqlDefinition
extends org.apache.avalon.framework.logger.AbstractLogEnabled

Model of the SQL to be executed. The actual work is delegated to instances of the class SqlDialectDefinition, which may contain different sql-statements for different databases.


Field Summary
protected  java.util.HashMap sqlByDialect
           
 
Constructor Summary
SqlDefinition()
           
 
Method Summary
 void addDialect(java.lang.String type, SqlDialectDefinition sqlDialectDefinition)
           
 void bind(java.sql.PreparedStatement statement, ExecutionContext executionContext)
           
 java.lang.String createSql(ExecutionContext executionContext)
           
protected  SqlDialectDefinition getDialectDefinition(java.lang.String dialectName)
           
protected  SqlDialectDefinition lookupSqlDialectDefinition(java.lang.String dialectName)
           
 boolean supportsOrderBy(java.lang.String dialectName)
          Returns true if the sql statement for the given dialect support setting orderby's.
 boolean supportsQbe(java.lang.String dialectName)
          Returns true if the sql statement for the given dialect supports QBE.
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sqlByDialect

protected java.util.HashMap sqlByDialect
Constructor Detail

SqlDefinition

public SqlDefinition()
Method Detail

createSql

public java.lang.String createSql(ExecutionContext executionContext)
                           throws SqlGenerationException
Throws:
SqlGenerationException

bind

public void bind(java.sql.PreparedStatement statement,
                 ExecutionContext executionContext)
          throws SqlGenerationException,
                 java.sql.SQLException
Throws:
SqlGenerationException
java.sql.SQLException

getDialectDefinition

protected SqlDialectDefinition getDialectDefinition(java.lang.String dialectName)
                                             throws SqlGenerationException
Throws:
SqlGenerationException

addDialect

public void addDialect(java.lang.String type,
                       SqlDialectDefinition sqlDialectDefinition)

supportsQbe

public boolean supportsQbe(java.lang.String dialectName)
Returns true if the sql statement for the given dialect supports QBE.


supportsOrderBy

public boolean supportsOrderBy(java.lang.String dialectName)
Returns true if the sql statement for the given dialect support setting orderby's.


lookupSqlDialectDefinition

protected SqlDialectDefinition lookupSqlDialectDefinition(java.lang.String dialectName)