com.is.jrf
Class TimestampColumnSpec
java.lang.Object
|
+--com.is.jrf.AbstractColumnSpec
|
+--com.is.jrf.TimestampColumnSpec
- All Implemented Interfaces:
- ColumnSpec, JRFConstants
- public class TimestampColumnSpec
- extends AbstractColumnSpec
This subclass of AbstractColumnSpec does Timestamp-specific things.
Timestamps can be used for an optimistic lock (i.e. first save wins).
Optimistic locks do not lock users out of an item while someone goes to
lunch (i.e. leaves an item open for a long time).
Field Summary |
protected static java.lang.Class |
s_class
|
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 |
TimestampColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue)
|
TimestampColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1)
|
TimestampColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1,
int option2)
|
TimestampColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1,
int option2,
int option3)
|
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, setRequired, setValueTo, setValueTo, validateRequired, validateUnique, validateUnique |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
s_class
protected static java.lang.Class s_class
TimestampColumnSpec
public TimestampColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue)
TimestampColumnSpec
public TimestampColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1)
TimestampColumnSpec
public TimestampColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1,
int option2)
TimestampColumnSpec
public TimestampColumnSpec(java.lang.String columnName,
java.lang.String getter,
java.lang.String setter,
java.lang.Object defaultValue,
int option1,
int option2,
int option3)
formatForSql
public java.lang.String formatForSql(java.lang.Object obj,
DatabasePolicy dbPolicy)
- Override of 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.
- Overrides:
decode
in class AbstractColumnSpec
- Parameters:
aString
- a value of type 'String'- Returns:
- a value of type 'Object' (This actually will be a Timestamp 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
- Override of the superclass implementation.
This ensures we get a Timestamp (instead of a Date or something else)
from the JDBC driver.
- 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. This is intended for
testing.
- Overrides:
getSQLColumnType
in class AbstractColumnSpec
- Parameters:
domain
- a value of type 'AbstractDomain'- Returns:
- a value of type 'String'
optimisticLockDefaultValue
public java.lang.Object optimisticLockDefaultValue()
- Description copied from class:
AbstractColumnSpec
- Unless this is overridden, an exception will be thrown.
- Overrides:
optimisticLockDefaultValue
in class AbstractColumnSpec
- Following copied from class:
com.is.jrf.AbstractColumnSpec
- Returns:
- a value of type 'Object'
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.