Class ArrayMapping
- java.lang.Object
-
- org.datanucleus.store.rdbms.mapping.java.JavaTypeMapping
-
- org.datanucleus.store.rdbms.mapping.java.SingleFieldMapping
-
- org.datanucleus.store.rdbms.mapping.java.AbstractContainerMapping
-
- org.datanucleus.store.rdbms.mapping.java.ArrayMapping
-
- All Implemented Interfaces:
MappingCallbacks
- Direct Known Subclasses:
OracleArrayMapping
public class ArrayMapping extends AbstractContainerMapping implements MappingCallbacks
Mapping for an array.
-
-
Field Summary
-
Fields inherited from class org.datanucleus.store.rdbms.mapping.java.SingleFieldMapping
EXTENSION_CHECK_CONSTRAINT_VALUES
-
Fields inherited from class org.datanucleus.store.rdbms.mapping.java.JavaTypeMapping
absFieldNumber, columnMappings, mmd, referenceMapping, roleForMember, storeMgr, table, type
-
-
Constructor Summary
Constructors Constructor Description ArrayMapping()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
containerIsStoredInSingleColumn()
Convenience method to return if the array is stored in the owning table as a column.Class
getJavaType()
Accessor for the Java type represented here.void
postFetch(org.datanucleus.state.DNStateManager sm)
Method to be called after any fetch of the owner class element.void
postInsert(org.datanucleus.state.DNStateManager ownerSM)
Method called after the insert of the object so that additional operations can be performed if necessary.void
postUpdate(org.datanucleus.state.DNStateManager ownerSM)
Method to be called after any update of the owner class element.void
preDelete(org.datanucleus.state.DNStateManager ownerSM)
Method called before the delete of objects, so that additional operations can be performed if necessary.-
Methods inherited from class org.datanucleus.store.rdbms.mapping.java.AbstractContainerMapping
getColumnMapping, getColumnMappings, getJavaTypeForColumnMapping, getNumberOfColumnMappings, getObject, getTable, hasSimpleDatastoreRepresentation, includeInFetchStatement, includeInInsertStatement, includeInUpdateStatement, initialize, prepareColumnMapping, replaceFieldWithWrapper, setObject
-
Methods inherited from class org.datanucleus.store.rdbms.mapping.java.SingleFieldMapping
getBoolean, getByte, getChar, getDefaultLength, getDouble, getFloat, getInt, getLong, getShort, getString, getValidValues, setBoolean, setByte, setChar, setDouble, setFloat, setInt, setLong, setShort, setString
-
Methods inherited from class org.datanucleus.store.rdbms.mapping.java.JavaTypeMapping
addColumnMapping, equals, failureMessage, getAbsoluteFieldNumber, getColumnMetaDataForMember, getMemberMetaData, getObject, getReferenceMapping, getRoleForMember, getStoreManager, getType, getValueForColumnMapping, hashCode, initialize, isNullable, isSerialised, performSetPostProcessing, representableAsStringLiteralInStatement, requiresSetPostProcessing, setAbsFieldNumber, setMemberMetaData, setObject, setReferenceMapping, setRoleForMember, setTable
-
-
-
-
Method Detail
-
getJavaType
public Class getJavaType()
Accessor for the Java type represented here.- Specified by:
getJavaType
in classJavaTypeMapping
- Returns:
- The java type
-
containerIsStoredInSingleColumn
protected boolean containerIsStoredInSingleColumn()
Convenience method to return if the array is stored in the owning table as a column. Overrides the superclass since arrays can be stored in a single column also when the no join is specified and the array is of a primitive/wrapper type.- Overrides:
containerIsStoredInSingleColumn
in classAbstractContainerMapping
- Returns:
- Whether it is stored in a single column in the main table.
-
postInsert
public void postInsert(org.datanucleus.state.DNStateManager ownerSM)
Description copied from interface:MappingCallbacks
Method called after the insert of the object so that additional operations can be performed if necessary.- Specified by:
postInsert
in interfaceMappingCallbacks
- Parameters:
ownerSM
- StateManager of the owner
-
postFetch
public void postFetch(org.datanucleus.state.DNStateManager sm)
Description copied from class:AbstractContainerMapping
Method to be called after any fetch of the owner class element.- Specified by:
postFetch
in interfaceMappingCallbacks
- Overrides:
postFetch
in classAbstractContainerMapping
- Parameters:
sm
- StateManager of the owner
-
postUpdate
public void postUpdate(org.datanucleus.state.DNStateManager ownerSM)
Method to be called after any update of the owner class element. This method could be called in two situations- Update an array field of an object by replacing the array with a new array, so UpdateRequest is called, which calls here
- Persist a new object, and it needed to wait til the element was inserted so goes into dirty state and then flush() triggers UpdateRequest, which comes here
- Specified by:
postUpdate
in interfaceMappingCallbacks
- Parameters:
ownerSM
- StateManager of the owner
-
preDelete
public void preDelete(org.datanucleus.state.DNStateManager ownerSM)
Description copied from interface:MappingCallbacks
Method called before the delete of objects, so that additional operations can be performed if necessary.- Specified by:
preDelete
in interfaceMappingCallbacks
- Parameters:
ownerSM
- StateManager of the owner
-
-