com.is.jrf
Class SQLDateColumnSpec

java.lang.Object
  |
  +--com.is.jrf.AbstractColumnSpec
        |
        +--com.is.jrf.SQLDateColumnSpec
All Implemented Interfaces:
ColumnSpec, JRFConstants

public class SQLDateColumnSpec
extends AbstractColumnSpec

This subclass of AbstractColumnSpec does java.sql.Date specific things. Note that this is not java.util.Date, but since java.sql.Date is a subclass of java.util.Date, there will be some compatibility.


Field Summary
protected static java.lang.Class s_class
           
static java.lang.String SINGLE_QUOTE
           
 
Fields inherited from class com.is.jrf.AbstractColumnSpec
EQUALS, i_columnName, i_default, i_getter, i_naturalPrimaryKey, i_optimisticLock, i_required, i_sequencedPrimaryKey, i_setter, i_subtypeIdentifier, i_unique, NOT_EQUALS
 
Fields inherited from interface com.is.jrf.JRFConstants
CURRENT_DATE, CURRENT_TIMESTAMP, DEFAULT_TO_EMPTY_STRING, DEFAULT_TO_FALSE, DEFAULT_TO_NOW, DEFAULT_TO_NULL, DEFAULT_TO_ONE, DEFAULT_TO_TODAY, DEFAULT_TO_TRUE, DEFAULT_TO_ZERO, NATURAL_PRIMARY_KEY, NO_POST_FIND, OPTIMISTIC_LOCK, REQUIRED, SEQUENCED_PRIMARY_KEY, SUBTYPE_IDENTIFIER, UNIQUE
 
Constructor Summary
SQLDateColumnSpec(java.lang.String columnName, java.lang.String getter, java.lang.String setter, java.lang.Object defaultValue)
           
SQLDateColumnSpec(java.lang.String columnName, java.lang.String getter, java.lang.String setter, java.lang.Object defaultValue, int option1)
           
SQLDateColumnSpec(java.lang.String columnName, java.lang.String getter, java.lang.String setter, java.lang.Object defaultValue, int option1, int option2)
           
SQLDateColumnSpec(java.lang.String columnName, java.lang.String getter, java.lang.String setter, java.lang.Object defaultValue, int option1, int option2, int option3)
           
 
Method Summary
 JoinColumn buildJoinColumn()
           
 java.lang.Object decode(java.lang.String aString)
          This method goes with encode().
 java.lang.String formatForSql(java.lang.Object obj, DatabasePolicy dbPolicy)
          This method overrides the superclass implementation.
 java.lang.Class getColumnClass()
          See IntegerColumnSpec for example of how to implement:
 java.lang.Object getColumnValueFrom(JDBCHelper helper)
          This method overrides the superclass implementation.
 java.lang.String getSQLColumnType(DatabasePolicy dbPolicy)
          Return the ANSI standard SQL column type.
 
Methods inherited from class com.is.jrf.AbstractColumnSpec
buildNameValuePair, buildWhereClause, columnDefinitionString, copyAttribute, copyColumnValueToPersistentObject, decodeToPersistentObject, encode, encodeFromPersistentObject, getColumnName, getDefault, getFullyQualifiedColumnName, getGetter, getSetter, getSqlValueFrom, getValueFrom, getValueFrom, isNaturalPrimaryKey, isOptimisticLock, isPrimaryKey, isRequired, isSequencedPrimaryKey, isSubtypeIdentifier, isUnique, optimisticLockDefaultValue, setRequired, setValueTo, setValueTo, validateRequired, validateUnique, validateUnique
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

s_class

protected static final java.lang.Class s_class

SINGLE_QUOTE

public static final java.lang.String SINGLE_QUOTE
Constructor Detail

SQLDateColumnSpec

public SQLDateColumnSpec(java.lang.String columnName,
                         java.lang.String getter,
                         java.lang.String setter,
                         java.lang.Object defaultValue)

SQLDateColumnSpec

public SQLDateColumnSpec(java.lang.String columnName,
                         java.lang.String getter,
                         java.lang.String setter,
                         java.lang.Object defaultValue,
                         int option1)

SQLDateColumnSpec

public SQLDateColumnSpec(java.lang.String columnName,
                         java.lang.String getter,
                         java.lang.String setter,
                         java.lang.Object defaultValue,
                         int option1,
                         int option2)

SQLDateColumnSpec

public SQLDateColumnSpec(java.lang.String columnName,
                         java.lang.String getter,
                         java.lang.String setter,
                         java.lang.Object defaultValue,
                         int option1,
                         int option2,
                         int option3)
Method Detail

formatForSql

public java.lang.String formatForSql(java.lang.Object obj,
                                     DatabasePolicy dbPolicy)
This method overrides the superclass implementation.
Overrides:
formatForSql in class AbstractColumnSpec
Parameters:
obj - a value of type 'Object'
dbPolicy - a value of type 'DatabasePolicy'
Returns:
a value of type 'String'

decode

public java.lang.Object decode(java.lang.String aString)
This method goes with encode(). The String parameter must have been created by the encode() method, which uses the toString() method unless overidden. By Default the toString() and valueOf() methods both use the ANSI format, yyyy-mm-dd.
Overrides:
decode in class AbstractColumnSpec
Parameters:
aString - a value of type 'String'
Returns:
a value of type 'Object' (This actually will be a java.sql.Date or null)

getColumnClass

public java.lang.Class getColumnClass()
Description copied from class: AbstractColumnSpec
See IntegerColumnSpec for example of how to implement:
Overrides:
getColumnClass in class AbstractColumnSpec

getColumnValueFrom

public java.lang.Object getColumnValueFrom(JDBCHelper helper)
                                    throws java.sql.SQLException
This method overrides the superclass implementation. This ensures that we get a boolean even if it is an Integer column.
Overrides:
getColumnValueFrom in class AbstractColumnSpec
Parameters:
helper - a value of type 'JDBCHelper'
Returns:
a value of type 'Object'
Throws:
java.sql.SQLException - if an error occurs

getSQLColumnType

public java.lang.String getSQLColumnType(DatabasePolicy dbPolicy)
Return the ANSI standard SQL column type.
Overrides:
getSQLColumnType in class AbstractColumnSpec
Parameters:
dbPolicy - a value of type 'DatabasePolicy'
Returns:
a value of type 'String'

buildJoinColumn

public JoinColumn buildJoinColumn()
Overrides:
buildJoinColumn in class AbstractColumnSpec
Following copied from class: com.is.jrf.AbstractColumnSpec
Returns:
a JoinColumn subclass instance with data from myself.