org.sqlproc.engine.plugin
Class DefaultSqlPlugins

java.lang.Object
  extended by org.sqlproc.engine.plugin.DefaultSqlPlugins
All Implemented Interfaces:
IsEmptyPlugin, IsTruePlugin, SqlCountPlugin, SqlFromToPlugin, SqlIdentityPlugin, SqlSequencePlugin

public class DefaultSqlPlugins
extends Object
implements IsEmptyPlugin, IsTruePlugin, SqlCountPlugin, SqlFromToPlugin, SqlSequencePlugin, SqlIdentityPlugin

The SQL Processor plugins standard implementation.

Author:
Vladimir Hudec

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.sqlproc.engine.plugin.SqlFromToPlugin
SqlFromToPlugin.LimitType
 
Field Summary
static String SUPPVAL_ANY
          The supplement value used to detect the empty value and true value.
static String SUPPVAL_NOTNULL
          The supplement value used to detect the empty value and true value.
static String SUPPVAL_NULL
          The supplement value used to detect the empty value and true value.
 
Fields inherited from interface org.sqlproc.engine.plugin.SqlSequencePlugin
SUPPVAL_SEQUENCE
 
Fields inherited from interface org.sqlproc.engine.plugin.SqlIdentityPlugin
SUPPVAL_IDENTITY_SELECT
 
Constructor Summary
DefaultSqlPlugins()
           
 
Method Summary
 String identitySelect(String identitySelectName, String tableName, String columnName)
          Used to construct the identity SELECT SQL.
 boolean isEmpty(Object obj, SqlMetaType sqlMetaType, String sqlMetaTypeExt, boolean inSqlSetOrInsert)
          Used for the evaluation of the emptiness in the META SQL fragments.
 boolean isTrue(Object obj, SqlMetaType sqlMetaType, String sqlMetaTypeExt)
          Used for the evaluation of the logical expression in the conditional META SQL fragments.
private  SqlFromToPlugin.LimitType limitQuery(String limitPattern, SqlFromToPlugin.LimitType limitType, String queryString, StringBuilder queryResult, Integer firstResult, Integer maxResults)
           
 SqlFromToPlugin.LimitType limitQuery(String queryString, StringBuilder queryResult, Integer firstResult, Integer maxResults, boolean ordered)
          Used to construct the FROM-TO SQL.
 String sequenceSelect(String sequenceName)
          Used to construct the sequence SELECT SQL.
 String sqlCount(StringBuilder sql)
          Used to construct the COUNT SQL.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SUPPVAL_NOTNULL

public static final String SUPPVAL_NOTNULL
The supplement value used to detect the empty value and true value. For the usage please see the Wiki Tutorials.

See Also:
Constant Field Values

SUPPVAL_ANY

public static final String SUPPVAL_ANY
The supplement value used to detect the empty value and true value. For the usage please see the Wiki Tutorials.

See Also:
Constant Field Values

SUPPVAL_NULL

public static final String SUPPVAL_NULL
The supplement value used to detect the empty value and true value. For the usage please see the Wiki Tutorials.

See Also:
Constant Field Values
Constructor Detail

DefaultSqlPlugins

public DefaultSqlPlugins()
Method Detail

isEmpty

public boolean isEmpty(Object obj,
                       SqlMetaType sqlMetaType,
                       String sqlMetaTypeExt,
                       boolean inSqlSetOrInsert)
                throws IllegalArgumentException
Used for the evaluation of the emptiness in the META SQL fragments.

Specified by:
isEmpty in interface IsEmptyPlugin
Parameters:
obj - the input value
sqlMetaType - the internal type (= META type) devoted for the special processing of the input values
sqlMetaTypeExt - the META type extension (=the internal type supplement value) devoted to extend the special processing of the input values
inSqlSetOrInsert - an indicator the input value is evaluated in the CRUD statement (INSERT or SET)
Returns:
the emptiness of the input value
Throws:
IllegalArgumentException

isTrue

public boolean isTrue(Object obj,
                      SqlMetaType sqlMetaType,
                      String sqlMetaTypeExt)
Used for the evaluation of the logical expression in the conditional META SQL fragments.

Specified by:
isTrue in interface IsTruePlugin
Parameters:
obj - the input value
sqlMetaType - the internal type (= META type) devoted for the special processing of the input values
sqlMetaTypeExt - the META type extension (=the internal type supplement value) devoted to extend the special processing of the input values
Returns:
the boolean value of the logical expression

sqlCount

public String sqlCount(StringBuilder sql)
Used to construct the COUNT SQL.

Specified by:
sqlCount in interface SqlCountPlugin
Parameters:
sql - original META SQL
Returns:
the COUNT SQL

limitQuery

public SqlFromToPlugin.LimitType limitQuery(String queryString,
                                            StringBuilder queryResult,
                                            Integer firstResult,
                                            Integer maxResults,
                                            boolean ordered)
Used to construct the FROM-TO SQL.

Specified by:
limitQuery in interface SqlFromToPlugin
Parameters:
queryString - the original ANSI SQL
queryResult - the final ANSI SQL reflected FROM and TO restrictions
firstResult - The first SQL execution output row to be returned in the case we need to skip some rows in the result set. The primary usage is to support the pagination.
maxResults - The max number of SQL execution output rows, which can be returned in the result list. The primary usage is to support the pagination.
ordered - the SQL output is sorted
Returns:
the characteristic of FROM and TO restrictions used in SqlQuery.list()

limitQuery

private SqlFromToPlugin.LimitType limitQuery(String limitPattern,
                                             SqlFromToPlugin.LimitType limitType,
                                             String queryString,
                                             StringBuilder queryResult,
                                             Integer firstResult,
                                             Integer maxResults)

identitySelect

public String identitySelect(String identitySelectName,
                             String tableName,
                             String columnName)
Used to construct the identity SELECT SQL.

Specified by:
identitySelect in interface SqlIdentityPlugin
Parameters:
identitySelectName - the identity SELECT SQL name
tableName - the table name. Right now it's not supplied.
columnName - the column name. Right now it's not supplied.
Returns:
the final identity SELECT SQL

sequenceSelect

public String sequenceSelect(String sequenceName)
Used to construct the sequence SELECT SQL.

Specified by:
sequenceSelect in interface SqlSequencePlugin
Parameters:
sequenceName - the sequence name
Returns:
the final sequence SELECT SQL


Copyright © 2012. All Rights Reserved.