planetj.database.field
Class DateField

java.lang.Object
  |
  +--planetj.database.Field
        |
        +--planetj.database.field.DateField
All Implemented Interfaces:
Cloneable, ICSVField, IExternallyNamed, IFDFObject, IGuarded, INamed, IXMLObject, Serializable
Direct Known Subclasses:
TimeField

public class DateField
extends Field
implements Cloneable, Serializable

Author:
PlanetJ Corporation
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class planetj.database.Field
Field.FieldLocation
 
Field Summary
static String DEFAULT_FORMAT
           
static Date INVALID_DATE
           
static String ISO_FORMAT
           
static String LENIENT
           
static Date NULL_DATE
           
 
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
DateField()
           
 
Method Summary
 Field cloneField()
          Returns a clone of the Field.
 Object createObject(String pStringValue)
          Create an object for this Field type using the given String.
 Object getCopiedValue()
          Gets an independent copy of this field's value.
 String getCSVField()
          Returns the String value of the Object, that will be written to the CSV file.
 String getCSVFormat()
          Returns the CSV Format Creation date: (5/11/2002 7:56:58 PM)
 Object getCurrentValue(ExecutingContext ec)
          Gets the default current value for this field as a String.
 String getCurrentValueAsString(ExecutingContext ec)
          Gets the default current value for this field as a String.
 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.
 String getDefaultFormat()
          Returns the Default Format Creation date: (5/11/2002 7:56:58 PM)
 String getDisplayFormat()
          Returns the Default Format Creation date: (5/11/2002 7:56:58 PM)
 String getDisplayValue()
          Returns the display value of this field as a String.
 String getDisplayValue(Object value)
          Returns the display value of this field as a String.
 String getISOFormat()
          Returns the CSV Format Creation date: (5/11/2002 7:56:58 PM)
 String getJulianFormat()
           
static String getNullString()
          Returns the CSV Format Creation date: (5/11/2002 7:56:58 PM)
 String getPossibleFormats()
          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)
 Object getSQLObject()
          Gets this field's value as an Object in SQL format.
 String getSQLValue(boolean pUseOriginalValue)
          Returns the Field's name and value in SQL format.
 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)
 Object getValue()
          Returns the value of this field as a Date Object The display value is detirmined by the FieldClass parameter Creation date: (4/8/2002 9:42:38 AM)
 boolean getValueAsBoolean()
          Subclasses must override this to detirmine what their boolean value is.
 String getValueAsString()
          Returns the value of this field as a String.
 String getValueAsString(Object value)
          Returns the value of this field 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 isDate()
          Subclasses should override to change the value
 boolean isValidLength(ExecutingContext ec)
          Validate this Field based on its max length attribute.
 boolean isValidValue(ExecutingContext ec)
          Validate this Field value.
 boolean isValueEqual(Object obj)
          Returns a boolean indicating if this field is equal to the supplied object.
 boolean isValueGreaterThan(Object obj)
          Returns a boolean indicating if this field is greater than the supplied object.
 boolean isValueLessThan(Object obj)
          Returns a boolean indicating if this field is less then the supplied object.
 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.
 void setValue(Object pValue)
          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, clearValidationExceptions, commitValue, concat, create, create, createFromDataType, divide, equals, executeGetterMethod, executeSetterMethod, getAssociationOperation, getAttribute, getAutoUpdateValue, getColumnSpan, getConfigProperty, getDataSQLOperation, getDate, getDefaultExternalName, getDefaultUsageId, getDefaultValue, getDisplayHeight, getDisplayLength, getDisplayOrder, getDisplayWidth, getExternalName, getExternalValidationKey, getFDFData, getFieldClassForDataClass, getFieldDescriptor, getFieldDescriptorSource, getFieldIncrementor, getIndex, getLibrary, getLibraryName, getMaxLength, getMaxLength, getMetaDataSystemAlias, getName, getOldValue, getOldValueAsString, getPossibleValues, getPossibleValues, getPreferredDisplayLength, getPreferredJavaDataType, getRow, getSecuredTypeId, getSecuredTypeName, getSecurityType, getSQLColumnDefinition, getSQLColumnDefinition, getSQLNameAndDefaultValue, getSQLNameAndValue, getSQLNameAndValue, getSQLType, getSQLType, getSQLTypeName, getSQLTypeName, getSQLValue, getSQLValue, getStaticAttribute, getStyleClass, getStyleClass, getSystem, getSystemAlias, getSystemURL, getTable, getTableName, getValidationExceptions, getValidationInvalidLengthString, getValidationInvalidMinLengthString, getValidationInvalidValueString, getValidationInvalidValueString, getValidationRequiredString, getValueAsByte, getValueAsDate, getValueAsDouble, getValueAsFloat, getValueAsFullLengthString, getValueAsInt, getValueAsLong, getValueAsNumber, getValueAsShort, getXMLData, getXMLTag, handlePossibleValueOperation, hasMultipleStyleClasses, hasOldValue, hasPossibleValuesKeyClassOrOp, hasPossibleValuesSQLOperation, hasPossibleValuesSQLOperation, hasValue, isApplicable, isAuthorizedForEdit, isAuthorizedForRead, isAutoUpdateValue, isBoolean, isChanged, isContainsValue, isCurrentValueField, isCurrentValueString, isDecimalSQLType, isDecimalSQLType, isDefaultValue, isDerived, isDisplayable, isFieldContentDisplayable, isFieldValueDatabaseDefault, isFieldValueNotBlank, isFieldValueNull, isFileUpload, isGuarded, isHelpTextPresent, isInitialized, isNumeric, isNumericSQLType, isNumericSQLType, isPassword, isPhysical, isPossibleValuesSearch, isReadOnly, isReadOnly, isRequired, isRequired, isRequiredOnSearch, isSkeleton, isString, isStringSQLType, isStringSQLType, isTime, isUpdateable, isValidationRequiredForAutoPopulate, isValidLength, isValidMinLength, isValidRequired, isValidRequired, isValidValue, isValueEqualToString, lessThan, removePropertyChangeListener, rollbackChanges, setAttribute, setChanged, setClonedValues, setDate, setFieldContentDisplayable, setFieldDescriptor, setInitialValue, setInitialValueAsString, setMaxLength, setName, setRow, setSavepoint, setSQLType, setSQLTypeName, setStaticAttribute, setTable, setValue, setValueAsString, setValueToDefault, toString, toUpperCase, validate, validate, validate
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_FORMAT

public static final String DEFAULT_FORMAT
See Also:
Constant Field Values

ISO_FORMAT

public static String ISO_FORMAT

NULL_DATE

public static final Date NULL_DATE

INVALID_DATE

public static final Date INVALID_DATE

LENIENT

public static final String LENIENT
See Also:
Constant Field Values
Constructor Detail

DateField

public DateField()
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
CMException

createObject

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

Specified by:
createObject in class Field
Parameters:
pStringValue - String
ValidationException

getCopiedValue

public 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

getCSVField

public String getCSVField()
Returns the String value of the Object, that will be written to the CSV file. If the toString method of any Object already does this, then there is no need to implement this interface.

Character string in the format MM/DD/YYYY where MM and DD have leading zeros for values less than ten. If this is a TimeField the format is HH:mm:ss where HH, mm, and ss have leading zeros for values less than ten. The string is not enclosed by double quotation marks.

In a CMException was thrown, or there were problems, then [Invalid Field] will be returned Creation date: (4/22/2002 2:28:48 PM)

Specified by:
getCSVField in interface ICSVField
Overrides:
getCSVField in class Field
Returns:
String

getCSVFormat

public String getCSVFormat()
Returns the CSV Format Creation date: (5/11/2002 7:56:58 PM)

Returns:
java.lang.String

getCurrentValue

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

Overrides:
getCurrentValue in class Field

getCurrentValueAsString

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

Overrides:
getCurrentValueAsString in class Field

getDefaultDatabaseValue

public 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:51:06 PM)

Specified by:
getDefaultDatabaseValue in class Field
CMException

getDefaultFormat

public String getDefaultFormat()
Returns the Default Format Creation date: (5/11/2002 7:56:58 PM)

Returns:
java.lang.String

getDisplayFormat

public String getDisplayFormat()
Returns the Default Format Creation date: (5/11/2002 7:56:58 PM)

Returns:
java.lang.String

getDisplayValue

public String getDisplayValue()
Returns the display value of this field as a String. The display value is detirmined by the Formatter class In most cases for a DateField, the formatter class would be java.text.SimpleDateFormat Creation date: (4/8/2002 9:42:38 AM)

Overrides:
getDisplayValue in class Field
Returns:
java.lang.String

getDisplayValue

public String getDisplayValue(Object value)
Returns the display value of this field as a String. The display value is detirmined by the Formatter class In most cases for a DateField, the formatter class would be java.text.SimpleDateFormat Creation date: (4/8/2002 9:42:38 AM)


getISOFormat

public String getISOFormat()
Returns the CSV Format Creation date: (5/11/2002 7:56:58 PM)

Returns:
java.lang.String

getJulianFormat

public String getJulianFormat()

getNullString

public static String getNullString()
Returns the CSV Format Creation date: (5/11/2002 7:56:58 PM)

Returns:
java.lang.String

getPossibleFormats

public String getPossibleFormats()
                          throws CMException
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)

Returns:
java.lang.String
Throws:
CMException

getSQLObject

public Object getSQLObject()
                    throws CMException
Gets this field's value as an Object in SQL format.

Overrides:
getSQLObject in class Field
CMException

getSQLValue

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

Specified by:
getSQLValue in class Field
Parameters:
pUseOriginalValue -
Returns:
String
CMException

getValidValuesString

public String getValidValuesString()
                            throws CMException
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
Returns:
java.lang.String
Throws:
CMException

getValue

public Object getValue()
Returns the value of this field as a Date Object The display value is detirmined by the FieldClass parameter Creation date: (4/8/2002 9:42:38 AM)

Specified by:
getValue in interface INamed
Overrides:
getValue in class Field
Returns:
Object

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

getValueAsString

public String getValueAsString()
Returns the value of this field as a String. The display value is detirmined by the FieldClass class Parameter Creation date: (4/8/2002 9:42:38 AM)

Overrides:
getValueAsString in class Field
Returns:
String

getValueAsString

public String getValueAsString(Object value)
Returns the value of this field as a String. The display value is detirmined by the FieldClass class Parameter Creation date: (4/8/2002 9:42:38 AM)


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)


isDate

public boolean isDate()
Subclasses should override to change the value

Overrides:
isDate in class Field
Returns:
boolean

isValidLength

public boolean isValidLength(ExecutingContext ec)
Validate this Field based on its max length attribute. If the value is is too big, the return false

Overrides:
isValidLength in class Field
Parameters:
ec - The current executing context, which may be null
Returns:
boolean true if valid

isValidValue

public boolean isValidValue(ExecutingContext ec)
Validate this Field value. If the field value is valid, return true,

Overrides:
isValidValue in class Field
Parameters:
ec - The executing context, which may be null
Returns:
boolean true if valid

isValueEqual

public boolean isValueEqual(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 return the appropriate response.

Specified by:
isValueEqual in class Field
Returns:
boolean

isValueGreaterThan

public boolean isValueGreaterThan(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(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

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
CMException

setValue

public void setValue(Object pValue)
              throws CMException
Sets the current value of the Field to the specified value, and also sets the old value to the previous value. If called and the Field is not updatable a CMException is thrown.

Overrides:
setValue in class Field
CMException