SolarMetric Kodo JDO 3.4.1 generated on May 30 2006

kodo.jdbc.meta
Class StringNormalizationFieldMapping

java.lang.Object
  |
  +--kodo.meta.DelegatingExtensions
        |
        +--kodo.meta.DelegatingFieldMetaData
              |
              +--kodo.jdbc.meta.AbstractFieldMapping
                    |
                    +--kodo.jdbc.meta.ReferenceFieldMapping
                          |
                          +--kodo.jdbc.meta.ColumnFieldMapping
                                |
                                +--kodo.jdbc.meta.TransformationFieldMapping
                                      |
                                      +--kodo.jdbc.meta.StringNormalizationFieldMapping
All Implemented Interfaces:
Commentable, Comparable, Extensions, FieldMapping, FieldMetaData, JDBCTypes, JDOTypes, JoinableMapping, Mapping, VersionableFieldMapping

public class StringNormalizationFieldMapping
extends TransformationFieldMapping

Mapping for string fields that handle databases that will perform simple common transformations. This mapping can be configured both through logical metadata extensions and JDBC mapping attributes. The mapping is controlled by the following mapping attributes and/or metadata extensions:

  1. null-as-blank: if the value of the String field is null, then it will be converted into a 0-length string
  2. blank-as-null: if the value of the String field is 0-length string, the it will be converted to a null
  3. trim-leading: whitespace will be trimmed from the end of the String
  4. trim-trailing: whitespace will be trimmed from the beginning of the String
  5. pad: the string will be padded with whitespace (or chopped down) until it is the specified length


Field Summary
static String ATTR_BLANK_AS_NULL
           
static String ATTR_NULL_AS_BLANK
           
static String ATTR_PAD
           
static String ATTR_TRIM_LEADING
           
static String ATTR_TRIM_TRAILING
           
static String TYPE
           
 
Fields inherited from class kodo.jdbc.meta.ColumnFieldMapping
DO_NOT_SET
 
Fields inherited from interface kodo.jdbc.meta.JDBCTypes
TYPE_ASCII_STREAM, TYPE_BINARY_STREAM, TYPE_BLOB, TYPE_BYTES, TYPE_CHAR_STREAM, TYPE_CLOB, TYPE_JDBC_DEFAULT, TYPE_REF, TYPE_SQL_ARRAY, TYPE_SQL_DATE, TYPE_SQL_OBJECT, TYPE_TIME, TYPE_TIMESTAMP
 
Fields inherited from interface kodo.meta.JDOTypes
TYPE_ARRAY, TYPE_BIGDECIMAL, TYPE_BIGINTEGER, TYPE_BOOLEAN, TYPE_BOOLEAN_OBJ, TYPE_BYTE, TYPE_BYTE_OBJ, TYPE_CHAR, TYPE_CHAR_OBJ, TYPE_COLLECTION, TYPE_DATE, TYPE_DOUBLE, TYPE_DOUBLE_OBJ, TYPE_FCO, TYPE_FLOAT, TYPE_FLOAT_OBJ, TYPE_INT, TYPE_INT_OBJ, TYPE_LOCALE, TYPE_LONG, TYPE_LONG_OBJ, TYPE_MAP, TYPE_NUMBER, TYPE_OBJECT, TYPE_PC_OBJECT, TYPE_SHORT, TYPE_SHORT_OBJ, TYPE_STRING
 
Fields inherited from interface kodo.jdbc.meta.FieldMapping
AUTO_INCREMENT, DELETE_ACTION, ELEMENT_DELETE_ACTION, ELEMENT_INDEXED, ELEMENT_SIZE, EXTENSION_KEYS, FIELD_MAP, INDEXED, JDBC_TYPE, KEY_DELETE_ACTION, KEY_INDEXED, KEY_SIZE, REF_DELETE_ACTION, REF_INDEXED, SIZE, SQL_TYPE, VALUE_DELETE_ACTION, VALUE_INDEXED, VALUE_SIZE
 
Fields inherited from interface kodo.meta.FieldMetaData
DEPENDENT, EAGER_FETCH_MODE, ELEMENT_DEPENDENT, ELEMENT_TYPE, EXTERNAL_VALUES, EXTERNALIZER, FACTORY, FETCH_GROUP, INVERSE_LOGICAL, INVERSE_OWNER, KEY_DEPENDENT, KEY_TYPE, LOCK_GROUP, LOCK_GROUP_DEFAULT, LOCK_GROUP_NONE, LRS, MANAGE_NONE, MANAGE_PERSISTENT, MANAGE_TRANSACTIONAL, NULL_DEFAULT, NULL_EXCEPTION, NULL_NONE, NULL_UNSET, SEQUENCE_ASSIGNED, VALUE_DEPENDENT, VALUE_TYPE
 
Constructor Summary
StringNormalizationFieldMapping(FieldMetaData meta)
           
 
Method Summary
 void addExtensionKeys(Collection attrs)
          Add all the known extension keys to the specified collection; any implementation that utilized new extensions should override this method to include both the known extensions of its superclass as well as its own extension keys.
 void addMappingInfoAttributes(Collection attrs)
          Add all mapping attributes names used by this mapping to the given collection.
 void fromMappingInfo(MappingInfo info, boolean adapt)
          The default implementation will raise warnings for any mapping attributes that are declared but not in the list of the valid attributes for this mapping.
 Boolean getBlankAsNull()
          If true, then 0-length Strings will be converted to null when reading or writing to the data store.
protected  int getDataStoreTypeCode()
          Return the type code of the data type that will be stored in the data column.
 Object getDataStoreValue(Object obj)
          Translate the given external field value to its datastore equivalent.
 Object getJavaValue(Object obj)
          Transform the given database value to the value that should be stored in the Java field for this mapping.
 String getMappingType()
          Return the abbreviated name of this mapping, or the full class name if it is a custom mapping.
 Boolean getNullAsBlank()
          If true, then null Strings will be converted to blank Strings when reading or writing to the data store.
 Integer getPad()
          If non-zero, then Strings will be padded with whitespace or trimmed down so that they are the specific length when reading or writing to the data store.
 Boolean getTrimLeading()
          If true, then Strings will have any leading whitespace stripped when reading to writing to the data store.
 Boolean getTrimTrailing()
          If true, then Strings will have any trailing whitespace stripped when reading to writing to the data store.
 String normalize(String str)
          Perform the String normalization process.
 void setBlankAsNull(Boolean blankAsNull)
          If true, then 0-length Strings will be converted to null when reading or writing to the data store.
 void setNullAsBlank(Boolean nullAsBlank)
          If true, then null Strings will be converted to blank Strings when reading or writing to the data store.
 void setPad(Integer pad)
          If non-zero, then Strings will be padded with whitespace or trimmed down so that they are the specific length when reading or writing to the data store.
 void setTrimLeading(Boolean trimLeading)
          If true, then Strings will have any leading whitespace stripped when reading to writing to the data store.
 void setTrimTrailing(Boolean trimTrailing)
          If true, then Strings will have any trailing whitespace stripped when reading to writing to the data store.
 void toMappingInfo(MappingInfo info)
          Serialize this mapping to a simple MappingInfo instance for transfer to XML or some other format.
 
Methods inherited from class kodo.jdbc.meta.TransformationFieldMapping
getFieldMapping, getJoinTypeCode, getJoinValue, getJoinValue, load, loadProjection, setAutoIncrementValue, update, where
 
Methods inherited from class kodo.jdbc.meta.ColumnFieldMapping
appendIsNotNull, appendIsNull, checkNull, deleteEmbedded, getColumn, getColumns, getJDBCType, insert, join, load, map, nullEmbedded, refSchemaComponents, select, setColumn, update
 
Methods inherited from class kodo.jdbc.meta.ReferenceFieldMapping
createRefForeignKey, delete, fromMappingInfo, getJoinedRow, getRefForeignKey, getRefJoins, getRefJoinType, getTable, join, setRefForeignKey, setRefForeignKey, setRefJoinType, wherePrimaryKey, whereRefForeignKey
 
Methods inherited from class kodo.jdbc.meta.AbstractFieldMapping
appendIsEmpty, assertTable, delete, deleteEmbedded, getDBDictionary, getDeclaredElementTypeMapping, getDeclaredElementTypeMetaData, getDeclaredKeyTypeMapping, getDeclaredKeyTypeMetaData, getDeclaredTypeMapping, getDeclaredTypeMetaData, getDeleteAction, getElementDeleteAction, getElementIndexed, getElementSize, getElementTypeMapping, getElementTypeMetaData, getFieldMappingName, getIndexed, getInverseMappings, getInverseMetaDatas, getInverseOwnerMapping, getInverseOwnerMetaData, getJDBCTypeCode, getKeyColumns, getKeyDataStoreValue, getKeyDeleteAction, getKeyIndexed, getKeySize, getKeyTypeMapping, getKeyTypeMetaData, getMappingRepository, getMetaData, getNonVirtualOwner, getOwner, getOwnerMapping, getOwnerTable, getRefDeleteAction, getRefIndexed, getSize, getSQLType, getTypeMapping, getTypeMetaData, insert, invalidateResolve, isAutoIncrement, isCustomDelete, isCustomDeleteEmbedded, isCustomInsert, isCustomNullEmbedded, isCustomUpdate, isDeleteActionDeferred, isEagerJoinToMany, isElementDeleteActionDeferred, isKeyDeleteActionDeferred, isPCObjectRelation, isRefDeleteActionDeferred, isResolved, joinKey, joinKeyRelation, joinRelation, loadEagerJoin, loadEagerParallel, loadKeyProjection, nullEmbedded, resolve, reverseMap, selectEagerJoin, selectEagerParallel, setAutoIncrement, setDeleteAction, setElementDeleteAction, setElementIndexed, setElementSize, setFieldMappingName, setIndexed, setJDBCTypeCode, setKeyDeleteAction, setKeyIndexed, setKeySize, setNonVirtualOwner, setOwner, setRefDeleteAction, setRefIndexed, setSize, setSQLType, supportsSelect, update, usesImplData, usesIntermediate
 
Methods inherited from class kodo.meta.DelegatingFieldMetaData
compareTo, equals, getComments, getComparator, getDeclaredElementType, getDeclaredElementTypeCode, getDeclaredIndex, getDeclaredKeyType, getDeclaredKeyTypeCode, getDeclaredPrimaryKeyIndex, getDeclaredType, getDeclaredTypeCode, getDelegate, getEagerFetchMode, getElementType, getElementTypeCode, getElementTypeName, getExternalizer, getExternalValue, getExternalValues, getFactory, getFetchGroup, getFieldFlag, getFieldValue, getFullName, getIndex, getInnermostDelegate, getInverseLogical, getInverseOwner, getKeyType, getKeyTypeCode, getKeyTypeName, getListingIndex, getLockGroup, getManagement, getName, getNullValue, getPrimaryKeyIndex, getProxyType, getType, getTypeCode, getTypeName, hashCode, isDefaultFetchGroupExplicit, isDependent, isElementDependent, isElementEmbedded, isEmbedded, isExplicit, isExternalized, isInDefaultFetchGroup, isKeyDependent, isKeyEmbedded, isLRS, isPrimaryKey, isSequenceAssigned, isTransient, setComparator, setDeclaredElementType, setDeclaredElementTypeCode, setDeclaredIndex, setDeclaredKeyType, setDeclaredKeyTypeCode, setDeclaredPrimaryKeyIndex, setDeclaredType, setDeclaredTypeCode, setDependent, setEagerFetchMode, setElementDependent, setElementEmbedded, setElementTypeName, setEmbedded, setExplicit, setExternalizer, setExternalValues, setFactory, setFetchGroup, setInDefaultFetchGroup, setIndex, setInverseLogical, setInverseOwner, setKeyDependent, setKeyEmbedded, setKeyTypeName, setListingIndex, setLockGroup, setLRS, setManagement, setName, setNullValue, setPrimaryKey, setProxyType, setSequenceAssigned, setTransient, setTypeName, toString
 
Methods inherited from class kodo.meta.DelegatingExtensions
addExtension, addExtension, getBooleanExtension, getBooleanExtension, getDoubleExtension, getDoubleExtension, getEmbeddedExtensions, getEmbeddedExtensions, getExtensionComments, getExtensionKeys, getExtensionKeys, getExtensionVendors, getIntExtension, getIntExtension, getObjectExtension, getObjectExtension, getStringExtension, getStringExtension, hasExtension, hasExtension, isEmpty, removeEmbeddedExtensions, removeEmbeddedExtensions, removeExtension, removeExtension
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface kodo.jdbc.meta.JoinableMapping
getColumns
 
Methods inherited from interface kodo.meta.FieldMetaData
getComparator, getDeclaredElementType, getDeclaredElementTypeCode, getDeclaredIndex, getDeclaredKeyType, getDeclaredKeyTypeCode, getDeclaredPrimaryKeyIndex, getDeclaredType, getDeclaredTypeCode, getEagerFetchMode, getElementType, getElementTypeCode, getElementTypeName, getExternalizer, getExternalValue, getExternalValues, getFactory, getFetchGroup, getFieldFlag, getFieldValue, getFullName, getIndex, getInverseLogical, getInverseOwner, getKeyType, getKeyTypeCode, getKeyTypeName, getListingIndex, getLockGroup, getManagement, getName, getNullValue, getPrimaryKeyIndex, getProxyType, getType, getTypeCode, getTypeName, isDefaultFetchGroupExplicit, isDependent, isElementDependent, isElementEmbedded, isEmbedded, isExplicit, isExternalized, isInDefaultFetchGroup, isKeyDependent, isKeyEmbedded, isLRS, isPrimaryKey, isSequenceAssigned, isTransient, setComparator, setDeclaredElementType, setDeclaredElementTypeCode, setDeclaredIndex, setDeclaredKeyType, setDeclaredKeyTypeCode, setDeclaredPrimaryKeyIndex, setDeclaredType, setDeclaredTypeCode, setDependent, setEagerFetchMode, setElementDependent, setElementEmbedded, setElementTypeName, setEmbedded, setExplicit, setExternalizer, setExternalValues, setFactory, setFetchGroup, setInDefaultFetchGroup, setIndex, setInverseLogical, setInverseOwner, setKeyDependent, setKeyEmbedded, setKeyTypeName, setListingIndex, setLockGroup, setLRS, setManagement, setName, setNullValue, setPrimaryKey, setProxyType, setSequenceAssigned, setTransient, setTypeName
 
Methods inherited from interface kodo.meta.Extensions
addExtension, addExtension, getBooleanExtension, getBooleanExtension, getDoubleExtension, getDoubleExtension, getEmbeddedExtensions, getEmbeddedExtensions, getExtensionComments, getExtensionKeys, getExtensionKeys, getExtensionVendors, getIntExtension, getIntExtension, getObjectExtension, getObjectExtension, getStringExtension, getStringExtension, hasExtension, hasExtension, isEmpty, removeEmbeddedExtensions, removeEmbeddedExtensions, removeExtension, removeExtension
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface kodo.meta.Commentable
getComments
 

Field Detail

TYPE

public static final String TYPE

ATTR_NULL_AS_BLANK

public static final String ATTR_NULL_AS_BLANK

ATTR_BLANK_AS_NULL

public static final String ATTR_BLANK_AS_NULL

ATTR_TRIM_LEADING

public static final String ATTR_TRIM_LEADING

ATTR_TRIM_TRAILING

public static final String ATTR_TRIM_TRAILING

ATTR_PAD

public static final String ATTR_PAD
Constructor Detail

StringNormalizationFieldMapping

public StringNormalizationFieldMapping(FieldMetaData meta)
Method Detail

getMappingType

public String getMappingType()
Description copied from interface: Mapping
Return the abbreviated name of this mapping, or the full class name if it is a custom mapping.

getDataStoreTypeCode

protected int getDataStoreTypeCode()
Description copied from class: ColumnFieldMapping
Return the type code of the data type that will be stored in the data column. Returns this.getTypeCode () by default.
Overrides:
getDataStoreTypeCode in class ColumnFieldMapping

getDataStoreValue

public Object getDataStoreValue(Object obj)
Description copied from interface: FieldMapping
Translate the given external field value to its datastore equivalent. If the mapping occupies multiple columns in the datastore, return an object array, else return a single object. Simply returns the given object by default.
Overrides:
getDataStoreValue in class AbstractFieldMapping

getJavaValue

public Object getJavaValue(Object obj)
Description copied from class: TransformationFieldMapping
Transform the given database value to the value that should be stored in the Java field for this mapping. If the Java field is a primitive, make sure not to return null.
Overrides:
getJavaValue in class TransformationFieldMapping

addMappingInfoAttributes

public void addMappingInfoAttributes(Collection attrs)
Description copied from interface: Mapping
Add all mapping attributes names used by this mapping to the given collection. For foreign key attributes, add the prefix.
Overrides:
addMappingInfoAttributes in class ColumnFieldMapping

addExtensionKeys

public void addExtensionKeys(Collection attrs)
Description copied from interface: Extensions
Add all the known extension keys to the specified collection; any implementation that utilized new extensions should override this method to include both the known extensions of its superclass as well as its own extension keys.
Overrides:
addExtensionKeys in class AbstractFieldMapping

fromMappingInfo

public void fromMappingInfo(MappingInfo info,
                            boolean adapt)
Description copied from class: AbstractFieldMapping
The default implementation will raise warnings for any mapping attributes that are declared but not in the list of the valid attributes for this mapping.
Overrides:
fromMappingInfo in class ColumnFieldMapping
Following copied from class: kodo.jdbc.meta.AbstractFieldMapping
See Also:
AbstractFieldMapping.addMappingInfoAttributes(java.util.Collection)

toMappingInfo

public void toMappingInfo(MappingInfo info)
Description copied from interface: Mapping
Serialize this mapping to a simple MappingInfo instance for transfer to XML or some other format.
Overrides:
toMappingInfo in class ColumnFieldMapping

normalize

public String normalize(String str)
Perform the String normalization process.

setNullAsBlank

public void setNullAsBlank(Boolean nullAsBlank)
If true, then null Strings will be converted to blank Strings when reading or writing to the data store. Defaults to the value of the null-as-blank mapping attribute or metadata extension.

getNullAsBlank

public Boolean getNullAsBlank()
If true, then null Strings will be converted to blank Strings when reading or writing to the data store. Defaults to the value of the null-as-blank mapping attribute or metadata extension.

setBlankAsNull

public void setBlankAsNull(Boolean blankAsNull)
If true, then 0-length Strings will be converted to null when reading or writing to the data store. Defaults to the value of the blank-as-null mapping attribute or metadata extension.

getBlankAsNull

public Boolean getBlankAsNull()
If true, then 0-length Strings will be converted to null when reading or writing to the data store. Defaults to the value of the blank-as-null mapping attribute or metadata extension.

setTrimLeading

public void setTrimLeading(Boolean trimLeading)
If true, then Strings will have any leading whitespace stripped when reading to writing to the data store. Defaults to the value of the trim-leading mapping attribute or metadata extension.

getTrimLeading

public Boolean getTrimLeading()
If true, then Strings will have any leading whitespace stripped when reading to writing to the data store. Defaults to the value of the trim-leading mapping attribute or metadata extension.

setTrimTrailing

public void setTrimTrailing(Boolean trimTrailing)
If true, then Strings will have any trailing whitespace stripped when reading to writing to the data store. Defaults to the value of the trim-trailing mapping attribute or metadata extension.

getTrimTrailing

public Boolean getTrimTrailing()
If true, then Strings will have any trailing whitespace stripped when reading to writing to the data store. Defaults to the value of the trim-trailing mapping attribute or metadata extension.

setPad

public void setPad(Integer pad)
If non-zero, then Strings will be padded with whitespace or trimmed down so that they are the specific length when reading or writing to the data store. Defaults to the value of the pad mapping attribute or metadata extension.

getPad

public Integer getPad()
If non-zero, then Strings will be padded with whitespace or trimmed down so that they are the specific length when reading or writing to the data store. Defaults to the value of the pad mapping attribute or metadata extension.

SolarMetric Kodo JDO 3.4.1 generated on May 30 2006

Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.