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:
- null-as-blank:
if the value of the String field is null,
then it will be converted into a 0-length string
- blank-as-null:
if the value of the String field is 0-length string,
the it will be converted to a null
- trim-leading:
whitespace will be trimmed from the end of the
String
- trim-trailing:
whitespace will be trimmed from the beginning of the
String
- pad:
the string will be padded with whitespace (or chopped down)
until it is the specified length
| 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 |
|
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.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 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 |
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
StringNormalizationFieldMapping
public StringNormalizationFieldMapping(FieldMetaData meta)
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.
Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.