Class L2CacheRetrieveFieldManager
java.lang.Object
org.datanucleus.store.fieldmanager.AbstractFieldManager
org.datanucleus.cache.L2CacheRetrieveFieldManager
- All Implemented Interfaces:
FieldManager
FieldManager responsible for retrieving the values from the provided CachedPC object.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) CachedPCCachedPC that we are taking values from.(package private) ExecutionContextExecution Context.(package private) DNStateManagerStateManager of the object we are copying values into. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate ObjectconvertCachedPCToPersistable(CachedPC cachedPC, int memberNumber, PersistableObjectType objectType) Method to convert a nested (i.e embedded) CachedPC back to the persistable object it represents.booleanfetchBooleanField(int fieldNumber) Fetch a boolean field at the specified field number, returning it.bytefetchByteField(int fieldNumber) Fetch a byte field at the specified field number, returning it.charfetchCharField(int fieldNumber) Fetch a char field at the specified field number, returning it.doublefetchDoubleField(int fieldNumber) Fetch a double field at the specified field number, returning it.floatfetchFloatField(int fieldNumber) Fetch a float field at the specified field number, returning it.intfetchIntField(int fieldNumber) Fetch an int field at the specified field number, returning it.longfetchLongField(int fieldNumber) Fetch a long field at the specified field number, returning it.fetchObjectField(int fieldNumber) Fetch an object field at the specified field number, returning it.shortfetchShortField(int fieldNumber) Fetch a short field at the specified field number, returning it.fetchStringField(int fieldNumber) Fetch a string field at the specified field number, returning it.int[]private ObjectgetObjectFromCachedId(Object cachedId) (package private) static <T> TnewContainer(Object container, AbstractMemberMetaData mmd, ContainerHandler containerHandler) Copy container without using the container handler and metadata type info.private ObjectprocessContainerField(AbstractMemberMetaData mmd, Object container) private ObjectprocessElementContainer(AbstractMemberMetaData mmd, Object cachedContainer, ContainerHandler<Object, ElementContainerAdapter<Object>> containerHandler) private ObjectprocessField(AbstractMemberMetaData mmd, Object value) private ObjectprocessMapContainer(AbstractMemberMetaData mmd, Object cachedMapContainer, ContainerHandler<Object, MapContainerAdapter<Object>> containerHandler) Methods inherited from class AbstractFieldManager
storeBooleanField, storeByteField, storeCharField, storeDoubleField, storeFloatField, storeIntField, storeLongField, storeObjectField, storeShortField, storeStringField
-
Field Details
-
sm
StateManager of the object we are copying values into. -
ec
Execution Context. -
cachedPC
CachedPC cachedPCCachedPC that we are taking values from. -
fieldsNotLoaded
-
-
Constructor Details
-
L2CacheRetrieveFieldManager
-
-
Method Details
-
getFieldsNotLoaded
public int[] getFieldsNotLoaded() -
fetchBooleanField
public boolean fetchBooleanField(int fieldNumber) Description copied from interface:FieldManagerFetch a boolean field at the specified field number, returning it.- Specified by:
fetchBooleanFieldin interfaceFieldManager- Overrides:
fetchBooleanFieldin classAbstractFieldManager- Parameters:
fieldNumber- Number of the field- Returns:
- The value
-
fetchByteField
public byte fetchByteField(int fieldNumber) Description copied from interface:FieldManagerFetch a byte field at the specified field number, returning it.- Specified by:
fetchByteFieldin interfaceFieldManager- Overrides:
fetchByteFieldin classAbstractFieldManager- Parameters:
fieldNumber- Number of the field- Returns:
- The value
-
fetchCharField
public char fetchCharField(int fieldNumber) Description copied from interface:FieldManagerFetch a char field at the specified field number, returning it.- Specified by:
fetchCharFieldin interfaceFieldManager- Overrides:
fetchCharFieldin classAbstractFieldManager- Parameters:
fieldNumber- Number of the field- Returns:
- The value
-
fetchDoubleField
public double fetchDoubleField(int fieldNumber) Description copied from interface:FieldManagerFetch a double field at the specified field number, returning it.- Specified by:
fetchDoubleFieldin interfaceFieldManager- Overrides:
fetchDoubleFieldin classAbstractFieldManager- Parameters:
fieldNumber- Number of the field- Returns:
- The value
-
fetchFloatField
public float fetchFloatField(int fieldNumber) Description copied from interface:FieldManagerFetch a float field at the specified field number, returning it.- Specified by:
fetchFloatFieldin interfaceFieldManager- Overrides:
fetchFloatFieldin classAbstractFieldManager- Parameters:
fieldNumber- Number of the field- Returns:
- The value
-
fetchIntField
public int fetchIntField(int fieldNumber) Description copied from interface:FieldManagerFetch an int field at the specified field number, returning it.- Specified by:
fetchIntFieldin interfaceFieldManager- Overrides:
fetchIntFieldin classAbstractFieldManager- Parameters:
fieldNumber- Number of the field- Returns:
- The value
-
fetchLongField
public long fetchLongField(int fieldNumber) Description copied from interface:FieldManagerFetch a long field at the specified field number, returning it.- Specified by:
fetchLongFieldin interfaceFieldManager- Overrides:
fetchLongFieldin classAbstractFieldManager- Parameters:
fieldNumber- Number of the field- Returns:
- The value
-
fetchShortField
public short fetchShortField(int fieldNumber) Description copied from interface:FieldManagerFetch a short field at the specified field number, returning it.- Specified by:
fetchShortFieldin interfaceFieldManager- Overrides:
fetchShortFieldin classAbstractFieldManager- Parameters:
fieldNumber- Number of the field- Returns:
- The value
-
fetchStringField
Description copied from interface:FieldManagerFetch a string field at the specified field number, returning it.- Specified by:
fetchStringFieldin interfaceFieldManager- Overrides:
fetchStringFieldin classAbstractFieldManager- Parameters:
fieldNumber- Number of the field- Returns:
- The value
-
fetchObjectField
Description copied from interface:FieldManagerFetch an object field at the specified field number, returning it.- Specified by:
fetchObjectFieldin interfaceFieldManager- Overrides:
fetchObjectFieldin classAbstractFieldManager- Parameters:
fieldNumber- Number of the field- Returns:
- The value
-
processContainerField
-
processMapContainer
private Object processMapContainer(AbstractMemberMetaData mmd, Object cachedMapContainer, ContainerHandler<Object, MapContainerAdapter<Object>> containerHandler) -
processElementContainer
private Object processElementContainer(AbstractMemberMetaData mmd, Object cachedContainer, ContainerHandler<Object, ElementContainerAdapter<Object>> containerHandler) -
processField
-
getObjectFromCachedId
-
newContainer
static <T> T newContainer(Object container, AbstractMemberMetaData mmd, ContainerHandler containerHandler) Copy container without using the container handler and metadata type info. Calling newContainer from container handler for interfaces will return the default chosen implementation, but this causes the JDO TCK (TestCollectionCollections) to fail because it expects Collection fields to return the same or at most a List. -
convertCachedPCToPersistable
private Object convertCachedPCToPersistable(CachedPC cachedPC, int memberNumber, PersistableObjectType objectType) Method to convert a nested (i.e embedded) CachedPC back to the persistable object it represents.- Parameters:
cachedPC- The CachedPCmemberNumber- Member number in the owning object where this is storedobjectType- Type of object that is embedded/serialised- Returns:
- The (persistable) object
-