com.tenduke.binding.sql
Class SqlCount

java.lang.Object
  extended by com.tenduke.binding.sql.JdbcBindObject<ObjectCount>
      extended by com.tenduke.binding.sql.SqlCount
All Implemented Interfaces:
JdbcDataSourceQuery<ObjectCount>, JdbcDataSourceWriter<ObjectCount>, DataSourceQuery<ObjectCount>, DataSourceWriter<ObjectCount>, SerializableObject

public class SqlCount
extends JdbcBindObject<ObjectCount>

Bind object for handling SELECT COUNT results and storing the results in ObjectCount object.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.tenduke.binding.sql.JdbcBindObject
JdbcBindObject.DefaultResultSetConsumer<T extends AbstractBindableObject,U extends AbstractBindableObject>, JdbcBindObject.StatementValueSerializationStyle
 
Field Summary
 
Fields inherited from class com.tenduke.binding.sql.JdbcBindObject
CreatedByProfileIdFieldName, CreatedTimestampFieldName, ModifiedByProfileIdFieldName, ModifiedTimestampFieldName, NestedQueryFormatSpecifierForCategoryIds, NestedQueryFormatSpecifierForCreatedByIds, NestedQueryFormatSpecifierForModifiedByIds, NestedQueryFormatSpecifierForPrimaryKeys, QUERY_STRING_CONSTANT_SELECT_SPACE, QUERY_STRING_CONSTANT_SPACE_AND_SPACE, QUERY_STRING_CONSTANT_SPACE_FROM_SPACE, QUERY_STRING_CONSTANT_SPACE_IN_SPACE, QUERY_STRING_CONSTANT_SPACE_LIKE, QUERY_STRING_CONSTANT_SPACE_LOWER, QUERY_STRING_CONSTANT_SPACE_OR_SPACE, QUERY_STRING_CONSTANT_SPACE_WHERE_SPACE, SortByCreated, SortByModified
 
Constructor Summary
SqlCount()
          Creates a new instance of SqlCount.
 
Method Summary
 ObjectCount createObject()
           
 void createTable(AbstractJdbcDatabase aDatabase, java.lang.String tableName, java.lang.String primaryKeyName)
          Check if table exists and create table if necessary.
 ObjectCount fromJdbcResultSetRow(java.sql.ResultSet resultSetRow)
          Construct an object model object from a JDBC result set row.
static
<U extends ObjectCount>
U
fromSqlRow(java.sql.ResultSet resultSet, U resultObject, java.lang.String primaryKeyName)
           
 java.lang.String getDefaultPrimaryKeyName()
           
 java.lang.String getDefaultTableName()
           
protected  int valuesToStatement(java.lang.StringBuilder sb, java.util.List<AbstractValueByTypeSetter> preparedStatementValues, ObjectCount object, java.lang.String tableName, java.lang.String primaryKeyName, JdbcBindObject.StatementValueSerializationStyle valueSerializationStyle, java.util.List<java.lang.String> fieldsToWrite, int fieldsWritten)
          Write values of object fields to an SQL statement based on SerializableField annotations.
 
Methods inherited from class com.tenduke.binding.sql.JdbcBindObject
addCommonFieldsForCreateTable, addConstraintsForCreateTable, addCreatedAndModifiedFieldsForCreateTable, annotatedFieldNameToFieldName, appendColumnToCreateTableStatement, buildAggregatedObjectQueryString, buildAggregatedObjectQueryString, buildAggregatedObjectQueryString, buildAggregatedObjectQueryString, buildAggregatedObjectQueryString, buildAggregatedObjectQueryString, buildAggregatingObjectQueryString, buildAggregatingObjectQueryString, buildAggregatingObjectQueryString, buildAggregatingObjectQueryString, buildAggregatingObjectQueryString, buildAggregatingObjectQueryString, buildAllObjectsInTimeFrameQueryString, buildAllObjectsQueryString, buildAllObjectsQueryString, buildAllObjectsQueryString, buildAllObjectsQueryString, buildAllObjectsQueryString, buildAllObjectsQueryString, buildByFieldNameAndFieldValueStartsWithQueryString, buildByFieldNameAndFieldValueStartsWithQueryString, buildByFieldNameCountQueryString, buildByFieldNameQueryString, buildByFieldNameQueryString, buildByFieldNameQueryString, buildByFieldNameQueryString, buildByFieldNameQueryString, buildByFieldNameQueryString, buildByFieldNamesQueryString, buildByFieldNamesQueryString, buildByFieldNamesQueryString, buildByFieldNamesQueryString, buildByFieldNamesQueryString, buildCountByFieldNameQueryString, buildCountByFieldNameQueryString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildCountQueryViaConnectingTableStatementString, buildDefaultPrimaryKeyName, buildDirectChildrenQueryString, buildDirectChildrenQueryString, buildDirectChildrenQueryString, buildDirectChildrenQueryString, buildLimitOffsetSection, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString, buildNestedQueryViaConnectingTableStatementString2, buildNestedQueryViaConnectingTableStatementString2, buildNestedQueryViaConnectingTableStatementString2, buildObjectBySubselectEnd, buildObjectBySubselectStart, buildObjectBySubselectStart, buildObjectCountQueryString, buildObjectCountQueryString, buildObjectCountQueryStringForCreatedByProfile, buildObjectCountQueryStringForModifiedByProfile, buildOrderByTailSection, buildOrderByTailSection, buildPrimaryKeyQueryString, buildPrimaryKeyQueryString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildQueryViaConnectingTableStatementString, buildWhereClauseByPrimaryKey, changeId, changeId, changeIdInDataSource, checkAndEscapeReservedFieldName, constructCreateTableStatement, constructCreateTableStatement, delete, delete, deleteFromDataSource, escapeReservedFieldName, executeQuery, expandFormatSpecifiers, fromSqlRow, getBaseTableName, getChangedFieldNames, getChildReadBindObjects, getChildWriteBindObjects, getConnection, getDatabase, getDataProvider, getDataSetElementIdentifierName, getDataSetName, getDataSetNamePrefix, getDataSourceQueryImplementation, getDataSourceWriterImplementation, getDefaultBindFieldsEnabled, getDefaultObjectCategoryIdFieldName, getDeleteAll, getFieldsToWrite, getId, getManyToManyBindObject, getManyToManyTableName, getObject, getObjectCategoryIdFieldName, getParentBasedDataSetName, getParentNode, getParentRowId, getPrimaryKeyFieldName, getQueryResultSetConsumer, getSQLColumnsString, getSQLValueParameterTokens, getTypeSetterForFieldType, getWriteTheObject, insert, insertOrUpdate, isFieldChanged, isFieldNameReserved, objectToDataSource, setChildReadBindObjects, setChildWriteBindObjects, setConnection, setDatabase, setDataProvider, setDataSetName, setDataSetNamePrefix, setDefaultBindFieldsEnabled, setDeleteAll, setFieldsToWrite, setId, setObject, setParentNode, setParentRowId, setPreparedStatementValues, setSqlPrimaryKeyName, setSqlTableName, setWriteTheObject, update, valueToStatement, valueToStatement, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SqlCount

public SqlCount()
Creates a new instance of SqlCount.

Method Detail

createObject

public ObjectCount createObject()

createTable

public void createTable(AbstractJdbcDatabase aDatabase,
                        java.lang.String tableName,
                        java.lang.String primaryKeyName)
                 throws java.sql.SQLException
Description copied from class: JdbcBindObject
Check if table exists and create table if necessary. This base class implementation finds the columns to create by traversing SerializableField annotated fields of the class for which this binding is. Derived classes may override this method e.g. to add contraints and cascades or to provide more efficient implementation.

Overrides:
createTable in class JdbcBindObject<ObjectCount>
Throws:
java.sql.SQLException

fromJdbcResultSetRow

public ObjectCount fromJdbcResultSetRow(java.sql.ResultSet resultSetRow)
Description copied from class: JdbcBindObject
Construct an object model object from a JDBC result set row. This base class implementation uses reflection to find fields annotated with SerializableField annotation in the resulting object and reads values of these annotated fields. This method may be overridden in derived classes e.g. for improving performance.

Specified by:
fromJdbcResultSetRow in interface JdbcDataSourceQuery<ObjectCount>
Overrides:
fromJdbcResultSetRow in class JdbcBindObject<ObjectCount>
Parameters:
resultSetRow - The row in the result set to deserialize into an object.
Returns:
Object deserialized from result row.

fromSqlRow

public static <U extends ObjectCount> U fromSqlRow(java.sql.ResultSet resultSet,
                                                   U resultObject,
                                                   java.lang.String primaryKeyName)

getDefaultPrimaryKeyName

public java.lang.String getDefaultPrimaryKeyName()
Specified by:
getDefaultPrimaryKeyName in class JdbcBindObject<ObjectCount>
Returns:
default primary key name to be bound to objects of the object model type handled by this binding class

getDefaultTableName

public java.lang.String getDefaultTableName()
Specified by:
getDefaultTableName in class JdbcBindObject<ObjectCount>
Returns:
default table name to be bound to objects of the object model type handled by this binding class

valuesToStatement

protected int valuesToStatement(java.lang.StringBuilder sb,
                                java.util.List<AbstractValueByTypeSetter> preparedStatementValues,
                                ObjectCount object,
                                java.lang.String tableName,
                                java.lang.String primaryKeyName,
                                JdbcBindObject.StatementValueSerializationStyle valueSerializationStyle,
                                java.util.List<java.lang.String> fieldsToWrite,
                                int fieldsWritten)
                         throws java.sql.SQLException
Description copied from class: JdbcBindObject
Write values of object fields to an SQL statement based on SerializableField annotations. This default implementation may be overridden in derived classes e.g. to improve performance.

Overrides:
valuesToStatement in class JdbcBindObject<ObjectCount>
Parameters:
sb - StringBuilder into which statement is serialized
preparedStatementValues - Values for statement variables
object - The object for which fields are serialized
tableName - Table name where object is bound
primaryKeyName - Primary key name
valueSerializationStyle - Serialization style, which controls if only field names or field names and field values are serialized.
fieldsToWrite - List of field names to include
fieldsWritten - Number of fields written into statement before call to this method
Returns:
Number of fields written into statement after call to this method
Throws:
java.sql.SQLException