Package org.datanucleus.cache
Class CachedPC
- java.lang.Object
-
- org.datanucleus.cache.CachedPC
-
- All Implemented Interfaces:
Serializable
,Comparable<CachedPC>
public class CachedPC extends Object implements Serializable, Comparable<CachedPC>
An object that is stored in the Level2 Cache keyed by the identity of the persistable object. Comprises a map of the field values keyed by the absolute field number in the class, the loaded fields array, and the version of the object that is represented with these values.- Where the field is a relation field (PC, Map, Collection, array) we store the id of any referenced persistable object. This is used when regenerating the object, and recreating its relations. Note that the "id" is the DatastoreId or SingleFieldId etc where applicable otherwise is CachedId (ensuring that the class of the related object is stored).
- Where the field contains an embedded/serialised persistable object, we store a nested CachedPC object representing that object (since it doesn't exist in its own right).
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CachedPC.CachedId
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(CachedPC other)
CachedPC
getCopy()
Object
getFieldValue(Integer fieldNumber)
Object
getId()
int[]
getLoadedFieldNumbers()
boolean[]
getLoadedFields()
Accessor for the loaded fields of this object.Class
getObjectClass()
Object
getVersion()
void
setFieldValue(Integer fieldNumber, Object value)
void
setLoadedField(int fieldNumber, boolean loaded)
void
setVersion(Object ver)
String
toString()
Method to return a sting form of the cached object.String
toString(String indent, boolean debug)
Method to return a string form of the cached object.
-
-
-
Method Detail
-
getObjectClass
public Class getObjectClass()
-
getId
public Object getId()
-
setVersion
public void setVersion(Object ver)
-
getVersion
public Object getVersion()
-
getLoadedFields
public boolean[] getLoadedFields()
Accessor for the loaded fields of this object. Use setLoadedField() if you want to update a flag.- Returns:
- The loaded fields flags
-
getLoadedFieldNumbers
public int[] getLoadedFieldNumbers()
-
setLoadedField
public void setLoadedField(int fieldNumber, boolean loaded)
-
getCopy
public CachedPC getCopy()
-
compareTo
public int compareTo(CachedPC other)
- Specified by:
compareTo
in interfaceComparable<CachedPC>
-
toString
public String toString()
Method to return a sting form of the cached object. Returns something likeCachedPC : cls=mydomain.MyClass version=1 loadedFlags=[YY]
-
toString
public String toString(String indent, boolean debug)
Method to return a string form of the cached object. Returns something likeCachedPC : cls=mydomain.MyClass version=1 loadedFlags=[YY] numValues=2 field=0 value=101 type=class java.lang.Long field=1 value=Home type=class java.lang.String
when debug is enabled, and omits the "field=..." parts when not using debug.- Parameters:
indent
- Indent for this CachedPCdebug
- Whether to include the field values in the return- Returns:
- The string form
-
-