kodo.jdbc.meta
Class ByteArrayFieldMapping
java.lang.Object
|
+--kodo.meta.DelegatingExtensions
|
+--kodo.meta.DelegatingFieldMetaData
|
+--kodo.jdbc.meta.AbstractFieldMapping
|
+--kodo.jdbc.meta.ReferenceFieldMapping
|
+--kodo.jdbc.meta.ColumnFieldMapping
|
+--kodo.jdbc.meta.ByteArrayFieldMapping
- All Implemented Interfaces:
- Commentable, Comparable, Extensions, FieldMapping, FieldMetaData, JDBCTypes, JDOTypes, JoinableMapping, Mapping
- public class ByteArrayFieldMapping
- extends ColumnFieldMapping
- implements JoinableMapping
Maps a single-column unserialized BLOB. This imposes the limitation
that the field must be a byte array field as no Java serialization
will occur.
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 |
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. |
protected int |
getDataStoreTypeCode()
Return the type code of the data type that will be stored in the
data column. |
FieldMapping |
getFieldMapping()
Return the field mapping that owns this mapping's columns. |
int |
getJoinTypeCode(Column col)
Return the type code from JDBCTypes of the JDBC
value returned from calls to getJoinValue(kodo.jdbc.sql.Result, kodo.jdbc.schema.Column[], kodo.jdbc.schema.ForeignKey, kodo.jdbc.sql.Joins) for the
given column. |
Object |
getJoinValue(Object fieldVal,
Column col)
Return the join value of the given column. |
Object |
getJoinValue(Result res,
Column[] cols,
ForeignKey fk,
Joins joins)
Return the value for this mapping from the given result, using the
given columns. |
String |
getMappingType()
Return the abbreviated name of this mapping, or the full class name if
it is a custom mapping. |
void |
load(KodoStateManager sm,
JDBCStoreManager store,
JDBCFetchConfiguration fetch)
Load secondary data using a connection from the store manager. |
void |
load(KodoStateManager sm,
JDBCStoreManager store,
JDBCFetchConfiguration fetch,
Result res)
Load virtual row data; the given result is not guaranteed to contain
data for this field, so the field mapping should make sure the
result contains its needed column data before loading. |
Object |
loadProjection(JDBCStoreManager store,
JDBCFetchConfiguration fetch,
Result res,
Joins joins)
Load this field value using the given result. |
boolean |
map()
Map a new instance of this mapping type. |
void |
reverseMap(SchemaGroup schema,
ReverseMappingTool tool)
Create mappings from the schema, using the given tool. |
int |
select(Select sel,
KodoStateManager sm,
JDBCStoreManager store,
JDBCFetchConfiguration fetch,
int eagerMode)
Select the virtual row columns of this mapping. |
void |
setAutoIncrementValue(KodoStateManager sm,
Column col,
long autoInc)
Use the given auto-incremented value to set this join value's field
on the given instance. |
protected void |
update(KodoStateManager sm,
Row row)
Update this column with the current value into the given row. |
Methods inherited from class kodo.jdbc.meta.ColumnFieldMapping |
addMappingInfoAttributes, appendIsNotNull, appendIsNull, checkNull, deleteEmbedded, getColumn, getColumns, getJDBCType, insert, join, nullEmbedded, refSchemaComponents, setColumn, toMappingInfo, 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 |
addExtensionKeys, appendIsEmpty, assertTable, delete, deleteEmbedded, getDataStoreValue, 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, 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
ByteArrayFieldMapping
public ByteArrayFieldMapping(FieldMetaData meta)
- Constructor. Supply underlying metadata.
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
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.
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)
map
public boolean map()
- Description copied from interface:
Mapping
- Map a new instance of this mapping type. If the underlying
metadata cannot be mapped using this type, return false.
- Overrides:
map
in class ColumnFieldMapping
select
public int select(Select sel,
KodoStateManager sm,
JDBCStoreManager store,
JDBCFetchConfiguration fetch,
int eagerMode)
- Description copied from interface:
FieldMapping
- Select the virtual row columns of this mapping.
- Overrides:
select
in class ColumnFieldMapping
- Following copied from interface:
kodo.jdbc.meta.FieldMapping
- Parameters:
sel
- the select to add tosm
- the instance being loaded, or null if not
initialized yet or selecting for multiple instancesstore
- the current store managerfetch
- fetch configurationeagerMode
- the eager fetch mode to use; this may be more
restrictive than the mode of the fetch configuration- Returns:
- > 0 if this mapping requires the selected data
(if any), 0 if it selected data but does not
require it, or < 0 if no data was selected
load
public void load(KodoStateManager sm,
JDBCStoreManager store,
JDBCFetchConfiguration fetch,
Result res)
throws SQLException
- Description copied from interface:
FieldMapping
- Load virtual row data; the given result is not guaranteed to contain
data for this field, so the field mapping should make sure the
result contains its needed column data before loading.
load
public void load(KodoStateManager sm,
JDBCStoreManager store,
JDBCFetchConfiguration fetch)
throws SQLException
- Description copied from interface:
FieldMapping
- Load secondary data using a connection from the store manager.
- Overrides:
load
in class ColumnFieldMapping
loadProjection
public Object loadProjection(JDBCStoreManager store,
JDBCFetchConfiguration fetch,
Result res,
Joins joins)
throws SQLException
- Description copied from interface:
FieldMapping
- Load this field value using the given result. This method will only
be called if this field does not represent a FCO relation. The result
will contain the columns from
FieldMapping.getColumns()
.
update
protected void update(KodoStateManager sm,
Row row)
throws SQLException
- Description copied from class:
ColumnFieldMapping
- Update this column with the current value into the given row.
- Overrides:
update
in class ColumnFieldMapping
reverseMap
public void reverseMap(SchemaGroup schema,
ReverseMappingTool tool)
- Description copied from interface:
Mapping
- Create mappings from the schema, using the given tool.
Implement this method if you want the class mapping to be a candidate
when reverse-mapping a schema to java classes. Note that this
method will be invoked on a template instance, so you cannot rely
on the metadata or owning repository being set.
- Overrides:
reverseMap
in class AbstractFieldMapping
getFieldMapping
public FieldMapping getFieldMapping()
- Description copied from interface:
JoinableMapping
- Return the field mapping that owns this mapping's columns. If this
is a delegate mapping, return the field mapping of the delegate.
- Specified by:
getFieldMapping
in interface JoinableMapping
getJoinValue
public Object getJoinValue(Result res,
Column[] cols,
ForeignKey fk,
Joins joins)
throws SQLException
- Description copied from interface:
JoinableMapping
- Return the value for this mapping from the given result, using the
given columns. Outside code will always call this method with
the
cols
array from JoinableMapping.getColumns()
, but delegates
may change the columns to use. If the given foreign key is non-null,
use the foreign key's columns by translating the given columns through
ForeignKey.getColumn(kodo.jdbc.schema.Column)
.
- Specified by:
getJoinValue
in interface JoinableMapping
getJoinValue
public Object getJoinValue(Object fieldVal,
Column col)
- Description copied from interface:
JoinableMapping
- Return the join value of the given column.
- Specified by:
getJoinValue
in interface JoinableMapping
- Following copied from interface:
kodo.jdbc.meta.JoinableMapping
- Parameters:
val
- the value of the field for this mappingcol
- the column of this mapping whose value to return
getJoinTypeCode
public int getJoinTypeCode(Column col)
- Description copied from interface:
JoinableMapping
- Return the type code from
JDBCTypes
of the JDBC
value returned from calls to JoinableMapping.getJoinValue(kodo.jdbc.sql.Result, kodo.jdbc.schema.Column[], kodo.jdbc.schema.ForeignKey, kodo.jdbc.sql.Joins)
for the
given column.
- Specified by:
getJoinTypeCode
in interface JoinableMapping
setAutoIncrementValue
public void setAutoIncrementValue(KodoStateManager sm,
Column col,
long autoInc)
- Description copied from interface:
JoinableMapping
- Use the given auto-incremented value to set this join value's field
on the given instance.
- Specified by:
setAutoIncrementValue
in interface JoinableMapping
Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.