org.apache.openjpa.kernel
Class AbstractPCData

java.lang.Object
  extended by org.apache.openjpa.kernel.AbstractPCData
All Implemented Interfaces:
java.io.Serializable, PCData
Direct Known Subclasses:
PCDataImpl

public abstract class AbstractPCData
extends java.lang.Object
implements PCData

Abstract base class which implements core PCData behavior.

Author:
Patrick Linskey, Abe White
See Also:
Serialized Form

Field Summary
static java.lang.Object NULL
           
 
Constructor Summary
AbstractPCData()
           
 
Method Summary
abstract  java.util.BitSet getLoaded()
          Return the loaded field mask.
 boolean isLoaded(int field)
          Whether the given field index has stored data.
abstract  AbstractPCData newEmbeddedPCData(OpenJPAStateManager sm)
          Create a new pcdata for holding the state of an embedded instance.
protected  java.lang.Object toData(FieldMetaData fmd, java.lang.Object val, StoreContext ctx)
          Transform the given field value to a data value for caching.
protected  java.lang.Object toEmbeddedData(java.lang.Object val, StoreContext ctx)
          Return the value to cache for the given embedded PC.
protected  java.lang.Object toEmbeddedField(OpenJPAStateManager sm, ValueMetaData vmd, java.lang.Object data, FetchConfiguration fetch, java.lang.Object context)
          Transform the given data into an embedded PC field value.
protected  java.lang.Object toField(OpenJPAStateManager sm, FieldMetaData fmd, java.lang.Object data, FetchConfiguration fetch, java.lang.Object context)
          Transform the given data value into its field value.
protected  java.lang.Object toNestedData(ValueMetaData vmd, java.lang.Object val, StoreContext ctx)
          Transform the given nested value to a cachable value.
protected  java.lang.Object toNestedField(OpenJPAStateManager sm, ValueMetaData vmd, java.lang.Object data, FetchConfiguration fetch, java.lang.Object context)
          Transform the given data value to its field value.
protected  java.lang.Object toRelationData(java.lang.Object val, StoreContext ctx)
          Return the value to cache for the given object.
protected  java.lang.Object toRelationField(OpenJPAStateManager sm, ValueMetaData vmd, java.lang.Object data, FetchConfiguration fetch, java.lang.Object context)
          Transform the given data into a relation field value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.openjpa.kernel.PCData
getData, getId, getImplData, getType, getVersion, load, load, setImplData, setVersion, store, store
 

Field Detail

NULL

public static final java.lang.Object NULL
Constructor Detail

AbstractPCData

public AbstractPCData()
Method Detail

getLoaded

public abstract java.util.BitSet getLoaded()
Return the loaded field mask.


newEmbeddedPCData

public abstract AbstractPCData newEmbeddedPCData(OpenJPAStateManager sm)
Create a new pcdata for holding the state of an embedded instance.


isLoaded

public boolean isLoaded(int field)
Description copied from interface: PCData
Whether the given field index has stored data.

Specified by:
isLoaded in interface PCData

toField

protected java.lang.Object toField(OpenJPAStateManager sm,
                                   FieldMetaData fmd,
                                   java.lang.Object data,
                                   FetchConfiguration fetch,
                                   java.lang.Object context)
Transform the given data value into its field value.


toNestedField

protected java.lang.Object toNestedField(OpenJPAStateManager sm,
                                         ValueMetaData vmd,
                                         java.lang.Object data,
                                         FetchConfiguration fetch,
                                         java.lang.Object context)
Transform the given data value to its field value. The data value may be a key, value, or element of a map or collection.


toRelationField

protected java.lang.Object toRelationField(OpenJPAStateManager sm,
                                           ValueMetaData vmd,
                                           java.lang.Object data,
                                           FetchConfiguration fetch,
                                           java.lang.Object context)
Transform the given data into a relation field value. Default implementation assumes the data is an oid.


toEmbeddedField

protected java.lang.Object toEmbeddedField(OpenJPAStateManager sm,
                                           ValueMetaData vmd,
                                           java.lang.Object data,
                                           FetchConfiguration fetch,
                                           java.lang.Object context)
Transform the given data into an embedded PC field value. Default implementation assumes the data is an AbstractPCData.


toData

protected java.lang.Object toData(FieldMetaData fmd,
                                  java.lang.Object val,
                                  StoreContext ctx)
Transform the given field value to a data value for caching. Return NULL if unable to cache.


toNestedData

protected java.lang.Object toNestedData(ValueMetaData vmd,
                                        java.lang.Object val,
                                        StoreContext ctx)
Transform the given nested value to a cachable value. Return NULL if the value cannot be cached.


toRelationData

protected java.lang.Object toRelationData(java.lang.Object val,
                                          StoreContext ctx)
Return the value to cache for the given object. Caches its oid by default.


toEmbeddedData

protected java.lang.Object toEmbeddedData(java.lang.Object val,
                                          StoreContext ctx)
Return the value to cache for the given embedded PC. Caches a PCData from newEmbeddedPCData(org.apache.openjpa.kernel.OpenJPAStateManager) by default.



Copyright © 2006 Apache Software Foundation. All Rights Reserved.