planetj.database.field
Class BigDecimalField

java.lang.Object
  |
  +--planetj.database.Field
        |
        +--planetj.database.field.StringOrNumberField
              |
              +--planetj.database.field.NumberField
                    |
                    +--planetj.database.field.BigDecimalField
All Implemented Interfaces:
Cloneable, ICSVField, IExternallyNamed, IFDFObject, IGuarded, INamed, IXMLObject, Serializable
Direct Known Subclasses:
BigDecimalNonNegativeField, NumericCurrencyField

public class BigDecimalField
extends NumberField
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
 
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
BigDecimalField()
           
 
Method Summary
 Object createObject(String pStringValue)
          Create an object for this Field type using the given String.
 String getCSVField()
          Returns the String value of the Object, that will be written to the CSV file.
 String getExternalValidationKey()
          Get the key that may be used to uniquely identify Field subclasses for external validation.
 int getMaxLength()
          Returns the max length of this field.
 String getSQLValue(boolean pUseOriginalValue)
          Returns the Field's name and value in SQL format.
 String getValidationInvalidValueString()
          Gets the long description of why this field's value is invalid and possible actions or examples we could put in this field.
 boolean isIntegersOnly()
          Test if this field can only contain integer values
 boolean isValidValue(ExecutingContext ec)
          Validate this Field value.
 void setValue(Object value)
          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.NumberField
getDisplayValue, getValueAsBigDecimal, getValueAsBoolean, isNumeric, isString, isValidLength, isValueEqual, isValueGreaterThan, isValueLessThan
 
Methods inherited from class planetj.database.field.StringOrNumberField
getCopiedValue, getDefaultDatabaseValue
 
Methods inherited from class planetj.database.Field
addFieldClassForDataClass, addPropertyChangeListener, appendSQLColumnDefinition, appendSQLNameAndValue, appendSQLNameAndValue, clearValidationExceptions, cloneField, commitValue, concat, create, create, createFromDataType, divide, equals, executeGetterMethod, executeSetterMethod, getAssociationOperation, getAttribute, getAutoUpdateValue, getColumnSpan, getConfigProperty, getCurrentValue, getCurrentValueAsString, getDataSQLOperation, getDate, getDefaultExternalName, getDefaultUsageId, getDefaultValue, getDisplayHeight, getDisplayLength, getDisplayOrder, getDisplayWidth, getExternalName, getFDFData, getFieldClassForDataClass, getFieldDescriptor, getFieldDescriptorSource, getFieldIncrementor, getIndex, getLibrary, getLibraryName, getMaxLength, getMetaDataSystemAlias, getName, getOldValue, getOldValueAsString, getPossibleValues, getPossibleValues, getPreferredDisplayLength, getPreferredJavaDataType, getRow, getSecuredTypeId, getSecuredTypeName, getSecurityType, getSQLColumnDefinition, getSQLColumnDefinition, getSQLNameAndDefaultValue, getSQLNameAndValue, getSQLNameAndValue, getSQLObject, getSQLType, getSQLType, getSQLTypeName, getSQLTypeName, getSQLValue, getSQLValue, getStaticAttribute, getStyleClass, getStyleClass, getSystem, getSystemAlias, getSystemURL, getTable, getTableName, getValidationExceptions, getValidationInvalidLengthString, getValidationInvalidMinLengthString, getValidationInvalidValueString, getValidationRequiredString, getValidValuesString, getValue, getValueAsByte, getValueAsDate, getValueAsDouble, getValueAsFloat, getValueAsFullLengthString, getValueAsInt, getValueAsLong, getValueAsNumber, getValueAsShort, getValueAsString, getXMLData, getXMLTag, guessFieldClassProbability, handlePossibleValueOperation, hasMultipleStyleClasses, hasOldValue, hasPossibleValuesKeyClassOrOp, hasPossibleValuesSQLOperation, hasPossibleValuesSQLOperation, hasValue, isApplicable, isAuthorizedForEdit, isAuthorizedForRead, isAutoUpdateValue, isBoolean, isChanged, isContainsValue, isCurrentValueField, isCurrentValueString, isDate, isDecimalSQLType, isDecimalSQLType, isDefaultValue, isDerived, isDisplayable, isFieldContentDisplayable, isFieldValueDatabaseDefault, isFieldValueNotBlank, isFieldValueNull, isFileUpload, isGuarded, isHelpTextPresent, isInitialized, isNumericSQLType, isNumericSQLType, isPassword, isPhysical, isPossibleValuesSearch, isReadOnly, isReadOnly, isRequired, isRequired, isRequiredOnSearch, isSkeleton, 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, setValue, setValueAsString, setValueToDefault, toString, toUpperCase, validate, validate, validate
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BigDecimalField

public BigDecimalField()
Method Detail

createObject

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

Overrides:
createObject in class StringOrNumberField
Parameters:
pStringValue - String
NumberFormatException

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 >>>>>>>>>>>9.99 where > means to suppress leading zeros and 9 means to always display a value, even if it is zero. 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:37 PM)

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

getExternalValidationKey

public String getExternalValidationKey()
Get the key that may be used to uniquely identify Field subclasses for external validation. That is validation outside the Field itself. e.g. Javascript.

Overrides:
getExternalValidationKey in class NumberField

getMaxLength

public int getMaxLength()
                 throws CMException
Returns the max length of this field.

Overrides:
getMaxLength in class Field
CMException

getSQLValue

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

This must check to see if we are using a BigDecimal for the value and ensure the number of digits after the decimal plase is valid

Overrides:
getSQLValue in class StringOrNumberField
Parameters:
pUseOriginalValue -
Returns:
String
CMException

getValidationInvalidValueString

public String getValidationInvalidValueString()
                                       throws CMException
Gets the long description of why this field's value is invalid and possible actions or examples we could put in this field.

Overrides:
getValidationInvalidValueString in class Field
CMException

isIntegersOnly

public boolean isIntegersOnly()
Test if this field can only contain integer values

Specified by:
isIntegersOnly in class NumberField

isValidValue

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

Overrides:
isValidValue in class NumberField
Returns:
boolean true if valid

setValue

public void setValue(Object value)
              throws CMException
Description copied from class: NumberField
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 NumberField
Parameters:
value -
Throws:
CMException