Package org.datanucleus.cache
Class L2CacheRetrieveFieldManager
- java.lang.Object
-
- org.datanucleus.store.fieldmanager.AbstractFieldManager
-
- org.datanucleus.cache.L2CacheRetrieveFieldManager
-
- All Implemented Interfaces:
FieldManager
public class L2CacheRetrieveFieldManager extends AbstractFieldManager
FieldManager responsible for retrieving the values from the provided CachedPC object.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) CachedPC
cachedPC
CachedPC that we are taking values from.(package private) ExecutionContext
ec
Execution Context.(package private) java.util.List<java.lang.Integer>
fieldsNotLoaded
(package private) DNStateManager
sm
StateManager of the object we are copying values into.
-
Constructor Summary
Constructors Constructor Description L2CacheRetrieveFieldManager(DNStateManager sm, CachedPC cachedpc)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.Object
convertCachedPCToPersistable(CachedPC cachedPC, int memberNumber, PersistableObjectType objectType)
Method to convert a nested (i.e embedded) CachedPC back to the persistable object it represents.boolean
fetchBooleanField(int fieldNumber)
Fetch a boolean field at the specified field number, returning it.byte
fetchByteField(int fieldNumber)
Fetch a byte field at the specified field number, returning it.char
fetchCharField(int fieldNumber)
Fetch a char field at the specified field number, returning it.double
fetchDoubleField(int fieldNumber)
Fetch a double field at the specified field number, returning it.float
fetchFloatField(int fieldNumber)
Fetch a float field at the specified field number, returning it.int
fetchIntField(int fieldNumber)
Fetch an int field at the specified field number, returning it.long
fetchLongField(int fieldNumber)
Fetch a long field at the specified field number, returning it.java.lang.Object
fetchObjectField(int fieldNumber)
Fetch an object field at the specified field number, returning it.short
fetchShortField(int fieldNumber)
Fetch a short field at the specified field number, returning it.java.lang.String
fetchStringField(int fieldNumber)
Fetch a string field at the specified field number, returning it.int[]
getFieldsNotLoaded()
private java.lang.Object
getObjectFromCachedId(java.lang.Object cachedId)
(package private) static <T> T
newContainer(java.lang.Object container, AbstractMemberMetaData mmd, ContainerHandler containerHandler)
Copy container without using the container handler and metadata type info.private java.lang.Object
processContainerField(AbstractMemberMetaData mmd, java.lang.Object container)
private java.lang.Object
processElementContainer(AbstractMemberMetaData mmd, java.lang.Object cachedContainer, ContainerHandler<java.lang.Object,ElementContainerAdapter<java.lang.Object>> containerHandler)
private java.lang.Object
processField(AbstractMemberMetaData mmd, java.lang.Object value)
private java.lang.Object
processMapContainer(AbstractMemberMetaData mmd, java.lang.Object cachedMapContainer, ContainerHandler<java.lang.Object,MapContainerAdapter<java.lang.Object>> containerHandler)
-
Methods inherited from class org.datanucleus.store.fieldmanager.AbstractFieldManager
storeBooleanField, storeByteField, storeCharField, storeDoubleField, storeFloatField, storeIntField, storeLongField, storeObjectField, storeShortField, storeStringField
-
-
-
-
Field Detail
-
sm
DNStateManager sm
StateManager of the object we are copying values into.
-
ec
ExecutionContext ec
Execution Context.
-
cachedPC
CachedPC cachedPC
CachedPC that we are taking values from.
-
fieldsNotLoaded
java.util.List<java.lang.Integer> fieldsNotLoaded
-
-
Constructor Detail
-
L2CacheRetrieveFieldManager
public L2CacheRetrieveFieldManager(DNStateManager sm, CachedPC cachedpc)
-
-
Method Detail
-
getFieldsNotLoaded
public int[] getFieldsNotLoaded()
-
fetchBooleanField
public boolean fetchBooleanField(int fieldNumber)
Description copied from interface:FieldManager
Fetch a boolean field at the specified field number, returning it.- Specified by:
fetchBooleanField
in interfaceFieldManager
- Overrides:
fetchBooleanField
in classAbstractFieldManager
- Parameters:
fieldNumber
- Number of the field- Returns:
- The value
-
fetchByteField
public byte fetchByteField(int fieldNumber)
Description copied from interface:FieldManager
Fetch a byte field at the specified field number, returning it.- Specified by:
fetchByteField
in interfaceFieldManager
- Overrides:
fetchByteField
in classAbstractFieldManager
- Parameters:
fieldNumber
- Number of the field- Returns:
- The value
-
fetchCharField
public char fetchCharField(int fieldNumber)
Description copied from interface:FieldManager
Fetch a char field at the specified field number, returning it.- Specified by:
fetchCharField
in interfaceFieldManager
- Overrides:
fetchCharField
in classAbstractFieldManager
- Parameters:
fieldNumber
- Number of the field- Returns:
- The value
-
fetchDoubleField
public double fetchDoubleField(int fieldNumber)
Description copied from interface:FieldManager
Fetch a double field at the specified field number, returning it.- Specified by:
fetchDoubleField
in interfaceFieldManager
- Overrides:
fetchDoubleField
in classAbstractFieldManager
- Parameters:
fieldNumber
- Number of the field- Returns:
- The value
-
fetchFloatField
public float fetchFloatField(int fieldNumber)
Description copied from interface:FieldManager
Fetch a float field at the specified field number, returning it.- Specified by:
fetchFloatField
in interfaceFieldManager
- Overrides:
fetchFloatField
in classAbstractFieldManager
- Parameters:
fieldNumber
- Number of the field- Returns:
- The value
-
fetchIntField
public int fetchIntField(int fieldNumber)
Description copied from interface:FieldManager
Fetch an int field at the specified field number, returning it.- Specified by:
fetchIntField
in interfaceFieldManager
- Overrides:
fetchIntField
in classAbstractFieldManager
- Parameters:
fieldNumber
- Number of the field- Returns:
- The value
-
fetchLongField
public long fetchLongField(int fieldNumber)
Description copied from interface:FieldManager
Fetch a long field at the specified field number, returning it.- Specified by:
fetchLongField
in interfaceFieldManager
- Overrides:
fetchLongField
in classAbstractFieldManager
- Parameters:
fieldNumber
- Number of the field- Returns:
- The value
-
fetchShortField
public short fetchShortField(int fieldNumber)
Description copied from interface:FieldManager
Fetch a short field at the specified field number, returning it.- Specified by:
fetchShortField
in interfaceFieldManager
- Overrides:
fetchShortField
in classAbstractFieldManager
- Parameters:
fieldNumber
- Number of the field- Returns:
- The value
-
fetchStringField
public java.lang.String fetchStringField(int fieldNumber)
Description copied from interface:FieldManager
Fetch a string field at the specified field number, returning it.- Specified by:
fetchStringField
in interfaceFieldManager
- Overrides:
fetchStringField
in classAbstractFieldManager
- Parameters:
fieldNumber
- Number of the field- Returns:
- The value
-
fetchObjectField
public java.lang.Object fetchObjectField(int fieldNumber)
Description copied from interface:FieldManager
Fetch an object field at the specified field number, returning it.- Specified by:
fetchObjectField
in interfaceFieldManager
- Overrides:
fetchObjectField
in classAbstractFieldManager
- Parameters:
fieldNumber
- Number of the field- Returns:
- The value
-
processContainerField
private java.lang.Object processContainerField(AbstractMemberMetaData mmd, java.lang.Object container)
-
processMapContainer
private java.lang.Object processMapContainer(AbstractMemberMetaData mmd, java.lang.Object cachedMapContainer, ContainerHandler<java.lang.Object,MapContainerAdapter<java.lang.Object>> containerHandler)
-
processElementContainer
private java.lang.Object processElementContainer(AbstractMemberMetaData mmd, java.lang.Object cachedContainer, ContainerHandler<java.lang.Object,ElementContainerAdapter<java.lang.Object>> containerHandler)
-
processField
private java.lang.Object processField(AbstractMemberMetaData mmd, java.lang.Object value)
-
getObjectFromCachedId
private java.lang.Object getObjectFromCachedId(java.lang.Object cachedId)
-
newContainer
static <T> T newContainer(java.lang.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 java.lang.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
-
-