planetj.database.field
Class TimestampField

java.lang.Object
  extended byplanetj.database.Field
      extended byplanetj.database.field.TimestampField
All Implemented Interfaces:
java.lang.Cloneable, IActionObject, ICSVField, ICurrentValueField, IExternallyNamed, IFDFObject, IGuarded, INamed, IPDFField, IXMLObject, java.io.Serializable
Direct Known Subclasses:
LastUpdateTimestampField

public class TimestampField
extends Field
implements java.lang.Cloneable, java.io.Serializable, ICurrentValueField

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class planetj.database.Field
Field.FieldLocation
 
Field Summary
static java.lang.String ISO_FORMAT
           
 
Fields inherited from class planetj.database.Field
ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_UNKNOWN
 
Fields inherited from interface planetj.database.field.ICurrentValueField
CURRENT_VALUE
 
Fields inherited from interface planetj.dataengine.security.IGuarded
TYPE_ID_UNKNOWN, TYPE_NAME_FIELD, TYPE_NAME_SQLOPERATION, TYPE_SECURED_BY_LEVEL, TYPE_SECURED_BY_OPERATION, TYPE_UNSECURED
 
Constructor Summary
TimestampField()
           
 
Method Summary
 Field cloneField()
          Returns a clone of the Field.
 java.lang.Object createObject(java.lang.String value)
          Create an object for this Field type using the given String.
static java.sql.Timestamp createTimestamp(java.lang.String format, java.lang.String value)
          Create a java.utl.Date from the given format and String.
 java.lang.Object getAutoUpdateValue(ExecutingContext executingContext)
          Get the field's auto update value as a Timestamp.
 java.lang.Object getCopiedValue()
          Gets an independent copy of this field's value.
 java.lang.Object getCurrentValue(ExecutingContext ec)
          Gets the default current value for this field as a String.
 java.lang.String getCurrentValueAsString(ExecutingContext ec)
          Gets the default current value for this field as a String.
 java.lang.String getDefaultDatabaseValue()
          Subclass must override this method and return a default value to be placed in the database when this field is Not-nullable and not required.
 java.lang.String getDefaultFormat()
           
 java.lang.Object getDefaultValue(ExecutingContext executingContext)
          Get the field's default value as a Timestamp.
 java.lang.String getDisplayFormat()
          Get the display format for this Timestamp Field.
protected  java.lang.String getDisplayValue(java.lang.Object value)
          Get the display value for this Timestamp.
 java.lang.String getSQLNullValue()
           
 java.lang.String getSQLValue(boolean useOriginalValue)
          Returns the Field's name and value in SQL format.
 java.lang.String getSQLValue(java.sql.Timestamp timestamp, java.lang.String format, boolean allowsNull)
          Returns the field's value in the proper SQL format.
 java.lang.String getValidValuesString()
          This method should be overriden by subclasses that want to display possible or valid values to a user Example PhoneNumber would return "Examples: (123) 456-7890, 1234567890, 123-456-78890" Creation date: (4/5/2002 2:52:46 PM)
 boolean getValueAsBoolean()
          Subclasses must override this to detirmine what their boolean value is.
 java.lang.String getValueAsString()
          Returns the Field's value as a String.
static short guessFieldClassProbability(FieldDescriptorRow pFDRow, RowCollection pSampleData)
          Subclasses will override to take an educated guess at what the Field Class will be for this FD Row.
 boolean isTimestamp()
          Subclasses should override to change the value
 boolean isUseZeroValue()
           
 boolean isValueEqual(java.lang.Object obj)
          Returns a boolean indicating if this field is equal to the supplied object.
 boolean isValueGreaterThan(java.lang.Object obj)
          Returns a boolean indicating if this field is greater than the supplied object.
 boolean isValueLessThan(java.lang.Object obj)
          Returns a boolean indicating if this field is less then the supplied object.
 void setUserZeroValue(boolean useZeroValue)
           
 void setValue(long millis)
          Sets the current value of the Field to the specified value, and also sets the old value to the previous value.
 
Methods inherited from class planetj.database.Field
addFieldClassForDataClass, addPropertyChangeListener, appendSQLColumnDefinition, appendSQLNameAndValue, appendSQLNameAndValue, clearTable, clearValidationExceptions, clearValue, cloneFD, commitValue, concat, correctSQLLiteral, correctValue, create, create, createAction, createFromDataType, createInternal, divide, equals, executeGetterMethod, executeSetterMethod, firePropertyChange, getActionDefaultLocation, getActionDescriptor, getActionRequest, getActionRequest, getActions, getAssociationOperation, getAttribute, getBackgroundColor, getBackgroundColor, getColumnSpan, getConfigProperty, getCSVDisplayField, getCSVField, getDataSQLOperation, getDate, getDefaultExternalName, getDefaultUsageId, getDisplayComponent, getDisplayHeight, getDisplayLength, getDisplayOrder, getDisplayValue, getDisplayWidth, getExternalName, getExternalValidationKey, getFDFData, getFieldClassForDataClass, getFieldClassParameters, getFieldDescriptor, getFieldDescriptorSource, getFieldHandledActionNames, getFieldIncrementor, getFieldSetName, getFormatter, getHorizontalAlignment, getIndex, getLibrary, getLibraryName, getMaxLength, getMaxLength, getMetaDataSystemAlias, getName, getOldValue, getOldValueAsString, getPDFValue, getPossibleValueClass, getPossibleValues, getPossibleValues, getPossibleValuesKey, getPossibleValuesOperation, getPossibleValuesSQLOperation, getPreferredDisplayLength, getPreferredJavaDataType, getPVPage, getRow, getSearchDefaultValue, getSecuredTypeId, getSecuredTypeName, getSecurityType, getSQLColumnDefinition, getSQLColumnDefinition, getSQLNameAndDefaultValue, getSQLNameAndValue, getSQLNameAndValue, getSQLObject, getSQLType, getSQLType, getSQLTypeName, getSQLTypeName, getSQLValue, getSQLValue, getStaticAttribute, getStaticAttributes, getStatusChange, getStyleClass, getStyleClass, getSystem, getSystemAlias, getSystemURL, getTable, getTableName, getUsageId, getUsageId, getUsageIds, getValidationExceptions, getValidationInvalidLengthString, getValidationInvalidMinLengthString, getValidationInvalidValueString, getValidationInvalidValueString, getValidationRequiredString, getValue, getValueAsByte, getValueAsDate, getValueAsDouble, getValueAsFloat, getValueAsFullLengthString, getValueAsInt, getValueAsLong, getValueAsNumber, getValueAsShort, getXMLData, getXMLTag, handleAction, handlePossibleValueOperation, hasAssociationOperation, hasMultipleStyleClasses, hasOldValue, hasPossibleValuesKeyClassOrOp, hasPossibleValuesOperation, hasPossibleValuesOperation, hasUsageId, hasUsageId, hasValue, incrementValue, isActionApplicable, isApplicable, isAuthorizedForEdit, isAuthorizedForRead, isAutoIncrement, isAutoIncrementDatabaseDriven, isAutoIncrementWOWDriven, isAutoUpdateValue, isBoolean, isChanged, isContainsValue, isCurrentValueField, isCurrentValueString, isDate, isDecimalSQLType, isDecimalSQLType, isDefaultValue, isDerived, isDisplayable, isFieldContentDisplayable, isFieldValueDatabaseDefault, isFieldValueNotBlank, isFieldValueNull, isFieldValuePossibleValue, isFieldValuesEqual, isFileUpload, isGuarded, isHelpTextPresent, isInitialized, isNumeric, isNumericSQLType, isNumericSQLType, isPassword, isPhysical, isPossibleValuesSearch, isPrepareFieldValue, isReadOnly, isReadOnly, isReadOnlyOnSearch, isRequired, isRequired, isRequiredOnSearch, isSkeleton, isStatusChange, isString, isStringSQLType, isStringSQLType, isTime, isUpdateable, isValidationRequiredForAutoPopulate, isValidLength, isValidLength, isValidMinLength, isValidRequired, isValidRequired, isValidValue, isValidValue, isValueEqualToString, lessThan, removePropertyChangeListener, resetDisplayValue, rollbackChanges, setAttribute, setChanged, setClonedValues, setDate, setFieldContentDisplayable, setFieldDescriptor, setHasValue, setIndex, setInitialValue, setInitialValueAsString, setMaxLength, setName, setPVPage, setRow, setSavepoint, setSkeleton, setSQLType, setSQLTypeName, setStaticAttribute, setTable, setValue, setValue, setValueAsString, setValueToDefault, statusChanged, toString, toUpperCase, validate, validate, validate
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ISO_FORMAT

public static final java.lang.String ISO_FORMAT
See Also:
Constant Field Values
Constructor Detail

TimestampField

public TimestampField()
Method Detail

cloneField

public Field cloneField()
                 throws CMException
Returns a clone of the Field. Overriding is necessary so we can clone the old and current values of the Field.

Overrides:
cloneField in class Field
Throws:
CMException

createObject

public java.lang.Object createObject(java.lang.String value)
                              throws ValidationException
Create an object for this Field type using the given String.

Specified by:
createObject in class Field
Parameters:
value - String
Throws:
ValidationException

getAutoUpdateValue

public java.lang.Object getAutoUpdateValue(ExecutingContext executingContext)
                                    throws CMException
Get the field's auto update value as a Timestamp.

Specified by:
getAutoUpdateValue in interface ICurrentValueField
Overrides:
getAutoUpdateValue in class Field
Throws:
CMException

getCopiedValue

public java.lang.Object getCopiedValue()
Gets an independent copy of this field's value. If the value is immutable, then this method can simply return the value. Otherwise, a clone of the value should be returned.

Specified by:
getCopiedValue in class Field

getCurrentValue

public java.lang.Object getCurrentValue(ExecutingContext ec)
Gets the default current value for this field as a String.

Specified by:
getCurrentValue in interface ICurrentValueField
Overrides:
getCurrentValue in class Field

getCurrentValueAsString

public java.lang.String getCurrentValueAsString(ExecutingContext ec)
Gets the default current value for this field as a String.

Specified by:
getCurrentValueAsString in interface ICurrentValueField
Overrides:
getCurrentValueAsString in class Field

getDefaultDatabaseValue

public java.lang.String getDefaultDatabaseValue()
                                         throws CMException
Subclass must override this method and return a default value to be placed in the database when this field is Not-nullable and not required.

Example: A SS# is not required to be filled in by users, but the database does not allow nulls in that field. SocialSecurityField must override this method and return a default value like -1; Creation date: (4/9/2002 4:33:45 PM)

Specified by:
getDefaultDatabaseValue in class Field
Throws:
CMException

getDefaultFormat

public java.lang.String getDefaultFormat()

getDefaultValue

public java.lang.Object getDefaultValue(ExecutingContext executingContext)
                                 throws CMException
Get the field's default value as a Timestamp.

Specified by:
getDefaultValue in interface ICurrentValueField
Overrides:
getDefaultValue in class Field
Throws:
CMException

getDisplayFormat

public java.lang.String getDisplayFormat()
Get the display format for this Timestamp Field.


getDisplayValue

protected java.lang.String getDisplayValue(java.lang.Object value)
Get the display value for this Timestamp.


getSQLNullValue

public java.lang.String getSQLNullValue()
Overrides:
getSQLNullValue in class Field

getSQLValue

public java.lang.String getSQLValue(boolean useOriginalValue)
                             throws CMException
Returns the Field's name and value in SQL format.

Specified by:
getSQLValue in class Field
Parameters:
useOriginalValue - If this is true then the value used will be this field's original value as it was read from the database. Otherwise its current value is used.
Returns:
String
Throws:
CMException

isUseZeroValue

public boolean isUseZeroValue()

getValidValuesString

public java.lang.String getValidValuesString()
Description copied from class: Field
This method should be overriden by subclasses that want to display possible or valid values to a user Example PhoneNumber would return "Examples: (123) 456-7890, 1234567890, 123-456-78890" Creation date: (4/5/2002 2:52:46 PM)

Overrides:
getValidValuesString in class Field

getValueAsBoolean

public boolean getValueAsBoolean()
Subclasses must override this to detirmine what their boolean value is. Returns a primitive that represents the value in the specified field.

Specified by:
getValueAsBoolean in class Field
Returns:
boolean

createTimestamp

public static java.sql.Timestamp createTimestamp(java.lang.String format,
                                                 java.lang.String value)
                                          throws java.text.ParseException
Create a java.utl.Date from the given format and String.

Throws:
java.text.ParseException

guessFieldClassProbability

public static short guessFieldClassProbability(FieldDescriptorRow pFDRow,
                                               RowCollection pSampleData)
Subclasses will override to take an educated guess at what the Field Class will be for this FD Row. Each subclass will examin fields such as : {DECIMAL_DIGITS, COLUMN_NAME, COLUMN_SIZE, REMARKS, DATA_TYPE, TYPE_NAME} Each subclass will detirmine the probability that it should be the field class for this FD Row. -1 will be returned if there is no chance (0%)this field is the fieldClass for pFDRow. 100 or greater will be returned if this is absolutely 100% the field class for pFDRow Creation date: (6/19/2002 2:55:49 PM)


getSQLValue

public java.lang.String getSQLValue(java.sql.Timestamp timestamp,
                                    java.lang.String format,
                                    boolean allowsNull)
Returns the field's value in the proper SQL format.

Returns:
String

isValueEqual

public boolean isValueEqual(java.lang.Object obj)
Returns a boolean indicating if this field is equal to the supplied object. the Row the Field belongs to. Subclasses should override and implement as appropriate.

Specified by:
isValueEqual in class Field
Returns:
boolean

isValueGreaterThan

public boolean isValueGreaterThan(java.lang.Object obj)
Returns a boolean indicating if this field is greater than the supplied object. the Row the Field belongs to. Subclasses should override and implement as appropriate.

Specified by:
isValueGreaterThan in class Field
Returns:
boolean

isValueLessThan

public boolean isValueLessThan(java.lang.Object obj)
Returns a boolean indicating if this field is less then the supplied object. the Row the Field belongs to. Subclasses should override and return the appropriate response.

Specified by:
isValueLessThan in class Field
Returns:
boolean

setUserZeroValue

public void setUserZeroValue(boolean useZeroValue)

setValue

public void setValue(long millis)
              throws CMException
Description copied from class: Field
Sets the current value of the Field to the specified value, and also sets the old value to the previous value. NOTE: This method will take int types also. If called and the Field is not updatable a CMException is thrown.

Overrides:
setValue in class Field
Throws:
CMException

getValueAsString

public java.lang.String getValueAsString()
Description copied from class: Field
Returns the Field's value as a String.

Overrides:
getValueAsString in class Field
Returns:
String

isTimestamp

public boolean isTimestamp()
Description copied from class: Field
Subclasses should override to change the value

Overrides:
isTimestamp in class Field
Returns:
boolean