|
SolarMetric Kodo JDO 2.5.8 generated on January 11 2004 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
|
+--com.solarmetric.kodo.runtime.FieldManager
|
+--com.solarmetric.kodo.runtime.StateManagerImpl
Implementation of the StateManager interface for use
with this runtime. Each StateManager manages the state of a single
PersistenceCapable instance. The StateManager is also responsible for
all communications about the instance to the StoreManager.
The StateManager uses the State pattern in both its interaction with
the governed instance and its interaction with the PersistenceManager.
In its interactions with the PersistenceCapable instance, it uses the
FieldManager interface. Similarly,
when interacting with the PersistenceManager, it uses the
JDOState singleton that represents the current lifecycle
state of the instance.
| Field Summary | |
(package private) static org.apache.commons.logging.Log |
_log
|
(package private) ClassMetaData |
meta
The metadata for the managed type. |
(package private) Object |
oid
The object ID of the instance. |
(package private) PersistenceCapable |
pc
The PersistenceCapable instance managed by this
StateManager. |
(package private) PersistenceManagerImpl |
pm
The owning PersistenceManagerImpl. |
| Constructor Summary | |
(package private) |
StateManagerImpl(Object oid,
ClassMetaData meta,
PersistenceManagerImpl pm)
Construct a StateManager for the instance with the given oid. |
| Method Summary | |
(package private) void |
beforeCommit()
Delegates to the current JDO State. |
(package private) void |
beforeFlush()
Delegates to the current JDO State. |
(package private) void |
clearFields()
Calls the InstanceCallbacks.jdoPreClear() method
on the instance, clears all managed fields, and calls the
setLoaded(boolean) method with a value of false. |
(package private) void |
clearSavedFields()
Notification that the state will not need to be rolled back to that of the last call to saveFields(). |
(package private) void |
commit()
Delegates to the current JDO state after checking the value of the retainValues flag. |
(package private) void |
deletePersistent()
Delegates to the current JDO state. |
(package private) void |
evict()
Delegates to the current JDO state. |
boolean |
fetchBooleanField(int field)
|
byte |
fetchByteField(int field)
|
char |
fetchCharField(int field)
|
double |
fetchDoubleField(int field)
|
float |
fetchFloatField(int field)
|
int |
fetchIntField(int field)
|
long |
fetchLongField(int field)
|
Object |
fetchObjectField(int field)
|
short |
fetchShortField(int field)
|
String |
fetchStringField(int field)
|
void |
flushCompleted(boolean forCommit)
Marks this state manager as having been flushed. |
boolean |
getBooleanField(PersistenceCapable pc,
int field,
boolean curVal)
|
byte |
getByteField(PersistenceCapable pc,
int field,
byte curVal)
|
char |
getCharField(PersistenceCapable pc,
int field,
char curVal)
|
BitSet |
getDirty()
Return which fields are dirty; should not be modified. |
double |
getDoubleField(PersistenceCapable pc,
int field,
double curVal)
|
float |
getFloatField(PersistenceCapable pc,
int field,
float curVal)
|
BitSet |
getFlushed()
Return which fields are flushed; should not be modified. |
Object |
getImplData(Object key)
Return the associated implementation object for the given key, if any. |
Object |
getIntermediate(int field)
Intermediate data stored before the field is loaded. |
int |
getIntField(PersistenceCapable pc,
int field,
int curVal)
|
JDOState |
getJDOState()
Return the JDO state that this object is in. |
BitSet |
getLoaded()
Return which fields are loaded; should not be modified. |
long |
getLongField(PersistenceCapable pc,
int field,
long curVal)
|
ClassMetaData |
getMetaData()
Return the metadata for the managed type. |
Object |
getNextVersion()
Return the pending version indicator after successful commit. |
BitSet |
getNonFlushedDirtyFields()
Return which fields have been modified since the last flush. |
Object |
getObjectField(PersistenceCapable pc,
int field,
Object curVal)
|
Object |
getObjectId(PersistenceCapable pc)
|
Object |
getOid()
Return the object ID of the instance. |
PersistenceCapable |
getPersistenceCapable()
Return the PersistenceCapable instance managed by this
StateManager. |
PersistenceManagerImpl |
getPersistenceManager()
Return the owning PersistenceManagerImpl. |
PersistenceManager |
getPersistenceManager(PersistenceCapable pc)
|
short |
getShortField(PersistenceCapable pc,
int field,
short curVal)
|
String |
getStringField(PersistenceCapable pc,
int field,
String curVal)
|
Object |
getTransactionalObjectId(PersistenceCapable pc)
|
Object |
getVersion()
Return the current version indicator. |
void |
initialize(PersistenceCapable pc,
JDOState state)
Initialize this state manager with the managed persistence capable object and the proper JDO lifecycle state. |
boolean |
isDeleted(PersistenceCapable pc)
|
boolean |
isDirty(PersistenceCapable pc)
|
boolean |
isLoaded(PersistenceCapable pc,
int field)
|
boolean |
isNew(PersistenceCapable pc)
|
boolean |
isPersistent(PersistenceCapable pc)
|
boolean |
isTransactional(PersistenceCapable pc)
|
(package private) boolean |
loadInitialState(JDOState state,
Object conn)
Load the initial state and set the managed instance from the StoreManager. |
void |
makeDirty(PersistenceCapable pc,
String field)
|
(package private) void |
makeNontransactional()
Delegates to the current JDO state. |
(package private) void |
makePersistent()
Delegates to the current JDO state. |
(package private) void |
makeTransactional()
Delegates to the current JDO state. |
(package private) void |
makeTransient()
Delegates to the current JDO state. |
void |
markFlushed(BitSet fields)
Marks all fields in fields as flushed. |
void |
markFlushed(boolean forCommit)
Marks all fields in this object as as flushed. |
void |
markFlushed(int field)
Marks field as flushed. |
(package private) void |
preDelete()
Cascade deletes to all dependent fields. |
(package private) void |
preFlush()
Persists all first class object fields, and checks for illegal null values. |
void |
preSerialize(PersistenceCapable pc)
|
(package private) void |
preStore()
Invokes InstanceCallbacks.jdoPreStore(), if implemented. |
void |
providedBooleanField(PersistenceCapable pc,
int field,
boolean curVal)
|
void |
providedByteField(PersistenceCapable pc,
int field,
byte curVal)
|
void |
providedCharField(PersistenceCapable pc,
int field,
char curVal)
|
void |
providedDoubleField(PersistenceCapable pc,
int field,
double curVal)
|
void |
providedFloatField(PersistenceCapable pc,
int field,
float curVal)
|
void |
providedIntField(PersistenceCapable pc,
int field,
int curVal)
|
void |
providedLongField(PersistenceCapable pc,
int field,
long curVal)
|
void |
providedObjectField(PersistenceCapable pc,
int field,
Object curVal)
|
void |
providedShortField(PersistenceCapable pc,
int field,
short curVal)
|
void |
providedStringField(PersistenceCapable pc,
int field,
String curVal)
|
Object |
proxy(FieldMetaData fmd,
Object val)
Proxy the given field if needed. |
Object |
queryField(String field)
Return the value of the named field for use in a query. |
(package private) void |
refresh()
Refreshes the state of the instance with data from the data store. |
void |
removeImplData(Object key)
Remove the given key from the store of implementation-specific data. |
(package private) void |
replaceFlags(byte flags)
Replaces the JDO flags of the managed instance with the given value. |
(package private) void |
replaceSecondClassObjectFields()
Replaces all second class object fields with fresh proxied instances containing the same information as the originals. |
boolean |
replacingBooleanField(PersistenceCapable pc,
int field)
|
byte |
replacingByteField(PersistenceCapable pc,
int field)
|
char |
replacingCharField(PersistenceCapable pc,
int field)
|
double |
replacingDoubleField(PersistenceCapable pc,
int field)
|
byte |
replacingFlags(PersistenceCapable pc)
|
float |
replacingFloatField(PersistenceCapable pc,
int field)
|
int |
replacingIntField(PersistenceCapable pc,
int field)
|
long |
replacingLongField(PersistenceCapable pc,
int field)
|
Object |
replacingObjectField(PersistenceCapable pc,
int field)
|
short |
replacingShortField(PersistenceCapable pc,
int field)
|
StateManager |
replacingStateManager(PersistenceCapable pc,
StateManager sm)
|
String |
replacingStringField(PersistenceCapable pc,
int field)
|
(package private) void |
retrieve()
Retrives all unloaded persistent state of the instance from the data store. |
(package private) void |
rollback()
Delegates to the current JDO state after checking the value of the retainValues flag. |
(package private) void |
rollbackFields()
Rollback the state of the instance to the saved state from the last call to saveFields(), or to default values if never saved. |
(package private) void |
saveFields()
If the fields aren't already saved, saves the currently loaded field state of the instance, along with the array of currently loaded field numbers and the current JDO flags. |
void |
setBooleanField(PersistenceCapable pc,
int field,
boolean curVal,
boolean newVal)
|
void |
setByteField(PersistenceCapable pc,
int field,
byte curVal,
byte newVal)
|
void |
setCharField(PersistenceCapable pc,
int field,
char curVal,
char newVal)
|
(package private) void |
setDirty(boolean val)
Records that all instance fields are/are not dirty, and changes the JDO flags of the instance accordingly. |
void |
setDoubleField(PersistenceCapable pc,
int field,
double curVal,
double newVal)
|
void |
setFloatField(PersistenceCapable pc,
int field,
float curVal,
float newVal)
|
void |
setImplData(Object key,
Object value)
This method is provided to the concrete JDO implementation to allow the association of arbitrary extra data with an instance. |
void |
setIntermediate(int field,
Object val)
Intermediate data stored before the field is loaded. |
void |
setIntField(PersistenceCapable pc,
int field,
int curVal,
int newVal)
|
(package private) void |
setJDOState(JDOState state,
Object conn)
Set or reset the lifecycle state of the managed instance. |
(package private) void |
setLoaded(boolean val)
Records that all instance fields are/are not loaded, and changes the JDO flags of the instance accordingly. |
void |
setLongField(PersistenceCapable pc,
int field,
long curVal,
long newVal)
|
void |
setNextVersion(Object version)
Set the version indicator that this object should have after successful commit. |
void |
setObjectField(PersistenceCapable pc,
int field,
Object curVal,
Object newVal)
|
void |
setShortField(PersistenceCapable pc,
int field,
short curVal,
short newVal)
|
void |
setStringField(PersistenceCapable pc,
int field,
String curVal,
String newVal)
|
void |
setVersion(Object version)
Set the current version indicator. |
void |
storeBooleanField(int field,
boolean curVal)
|
void |
storeByteField(int field,
byte curVal)
|
void |
storeCharField(int field,
char curVal)
|
void |
storeDoubleField(int field,
double curVal)
|
void |
storeFloatField(int field,
float curVal)
|
void |
storeIntField(int field,
int curVal)
|
void |
storeLongField(int field,
long curVal)
|
void |
storeObjectField(int field,
Object curVal)
|
void |
storeShortField(int field,
short curVal)
|
void |
storeStringField(int field,
String curVal)
|
(package private) void |
updateObjectId()
Update the object id to the latest pk values. |
| Methods inherited from class java.lang.Object |
|
| Field Detail |
static final org.apache.commons.logging.Log _log
PersistenceCapable pc
PersistenceCapable instance managed by this
StateManager.PersistenceManagerImpl pm
PersistenceManagerImpl.Object oid
ClassMetaData meta
| Constructor Detail |
StateManagerImpl(Object oid,
ClassMetaData meta,
PersistenceManagerImpl pm)
| Method Detail |
public final PersistenceCapable getPersistenceCapable()
PersistenceCapable instance managed by this
StateManager.public final PersistenceManagerImpl getPersistenceManager()
PersistenceManagerImpl.public final Object getOid()
public final ClassMetaData getMetaData()
public final BitSet getLoaded()
public final BitSet getDirty()
Return which fields are dirty; should not be modified. The
returned BitSet identifies which fields in this object
have been modified since the beginning of the
transaction. Care should be taken not to confuse this method
with getNonFlushedDirtyFields(), which returns
just those fields that have been modified since the last
flush.
public final BitSet getNonFlushedDirtyFields()
Return which fields have been modified since the last flush. If any field in the default fetch group has been modified (if the jdoState of this object is READ_WRITE_OK), then all the dfg fields will be flushed.
public final BitSet getFlushed()
boolean loadInitialState(JDOState state,
Object conn)
StoreManager.state - the JDO state to initialize withconn - the connection information given to the pm, if any
public void initialize(PersistenceCapable pc,
JDOState state)
public Object getVersion()
public void setVersion(Object version)
StoreManager during load to initialize version
information. It represents the current version in the database
of this row.public Object getNextVersion()
public void setNextVersion(Object version)
StoreManager is responsible for
calling this method during flush. This will be the same as the
current version for newly created objects.public JDOState getJDOState()
void setJDOState(JDOState state,
Object conn)
public Object getImplData(Object key)
public void removeImplData(Object key)
public void setImplData(Object key,
Object value)
public Object getIntermediate(int field)
public void setIntermediate(int field,
Object val)
public Object queryField(String field)
public void markFlushed(int field)
Marks field as flushed. StoreManager
implementations that return true from StoreManager.handlesMarkingFlushedFields() should use this use
one of the markFlushed methods to do so.
If a StoreManager implementation uses this method
(as opposed to #markFlushed(), then it is important that
the implementation invoke flushCompleted(boolean) once all
dirty fields in the object have been successfully flushed.
public void markFlushed(boolean forCommit)
Marks all fields in this object as as flushed. StoreManager implementations that return true
from StoreManager.handlesMarkingFlushedFields() should
use one of the markFlushed methods to do so.
This method invokes flushCompleted(boolean)
automatically.
public void markFlushed(BitSet fields)
Marks all fields in fields as flushed. StoreManager implementations that return true
from StoreManager.handlesMarkingFlushedFields() should
use this use one of the markFlushed methods to do
so.
If a StoreManager implementation uses this method
(as opposed to #markFlushed(), then it is important that
the implementation invoke flushCompleted(boolean) once all
dirty fields in the object have been successfully flushed.
void beforeFlush()
JDOState.beforeFlush(com.solarmetric.kodo.runtime.StateManagerImpl)public void flushCompleted(boolean forCommit)
markFlushed(java.util.BitSet) or markFlushed(int) methods. It is not necessary to invoke this
after marking all fields as flushed using the #markFlushed() method.void beforeCommit()
JDOState.beforeCommit(com.solarmetric.kodo.runtime.StateManagerImpl)void commit()
JDOState.commit(com.solarmetric.kodo.runtime.StateManagerImpl),
JDOState.commitRetain(com.solarmetric.kodo.runtime.StateManagerImpl)void rollback()
JDOState.rollback(com.solarmetric.kodo.runtime.StateManagerImpl),
JDOState.rollbackRetain(com.solarmetric.kodo.runtime.StateManagerImpl)void makePersistent()
JDOState.makePersistent(com.solarmetric.kodo.runtime.StateManagerImpl),
PersistenceManager.makePersistent(java.lang.Object)void deletePersistent()
JDOState.deletePersistent(com.solarmetric.kodo.runtime.StateManagerImpl),
PersistenceManager.deletePersistent(java.lang.Object)void makeNontransactional()
JDOState.makeNontransactional(com.solarmetric.kodo.runtime.StateManagerImpl),
PersistenceManager.makeNontransactional(java.lang.Object)void makeTransactional()
JDOState.makeTransactional(com.solarmetric.kodo.runtime.StateManagerImpl),
PersistenceManager.makeTransactional(java.lang.Object)void makeTransient()
JDOState.makeTransient(com.solarmetric.kodo.runtime.StateManagerImpl),
PersistenceManager.makeTransient(java.lang.Object)void evict()
JDOState.evict(com.solarmetric.kodo.runtime.StateManagerImpl),
PersistenceManager.evict(java.lang.Object)void refresh()
PersistenceManager.refresh(java.lang.Object)void retrieve()
PersistenceManager.retrieve(java.lang.Object)public void preSerialize(PersistenceCapable pc)
preSerialize in interface StateManagerpublic boolean isTransactional(PersistenceCapable pc)
isTransactional in interface StateManagerpublic boolean isPersistent(PersistenceCapable pc)
isPersistent in interface StateManagerpublic boolean isNew(PersistenceCapable pc)
isNew in interface StateManagerpublic boolean isDeleted(PersistenceCapable pc)
isDeleted in interface StateManagerpublic boolean isDirty(PersistenceCapable pc)
isDirty in interface StateManagerpublic PersistenceManager getPersistenceManager(PersistenceCapable pc)
getPersistenceManager in interface StateManagerpublic Object getObjectId(PersistenceCapable pc)
getObjectId in interface StateManagerpublic Object getTransactionalObjectId(PersistenceCapable pc)
getTransactionalObjectId in interface StateManagerpublic final byte replacingFlags(PersistenceCapable pc)
replacingFlags in interface StateManager
public StateManager replacingStateManager(PersistenceCapable pc,
StateManager sm)
replacingStateManager in interface StateManager
public boolean isLoaded(PersistenceCapable pc,
int field)
isLoaded in interface StateManager
public void makeDirty(PersistenceCapable pc,
String field)
makeDirty in interface StateManager
public boolean getBooleanField(PersistenceCapable pc,
int field,
boolean curVal)
getBooleanField in interface StateManager
public byte getByteField(PersistenceCapable pc,
int field,
byte curVal)
getByteField in interface StateManager
public char getCharField(PersistenceCapable pc,
int field,
char curVal)
getCharField in interface StateManager
public double getDoubleField(PersistenceCapable pc,
int field,
double curVal)
getDoubleField in interface StateManager
public float getFloatField(PersistenceCapable pc,
int field,
float curVal)
getFloatField in interface StateManager
public int getIntField(PersistenceCapable pc,
int field,
int curVal)
getIntField in interface StateManager
public long getLongField(PersistenceCapable pc,
int field,
long curVal)
getLongField in interface StateManager
public Object getObjectField(PersistenceCapable pc,
int field,
Object curVal)
getObjectField in interface StateManager
public short getShortField(PersistenceCapable pc,
int field,
short curVal)
getShortField in interface StateManager
public String getStringField(PersistenceCapable pc,
int field,
String curVal)
getStringField in interface StateManager
public void setBooleanField(PersistenceCapable pc,
int field,
boolean curVal,
boolean newVal)
setBooleanField in interface StateManager
public void setByteField(PersistenceCapable pc,
int field,
byte curVal,
byte newVal)
setByteField in interface StateManager
public void setCharField(PersistenceCapable pc,
int field,
char curVal,
char newVal)
setCharField in interface StateManager
public void setDoubleField(PersistenceCapable pc,
int field,
double curVal,
double newVal)
setDoubleField in interface StateManager
public void setFloatField(PersistenceCapable pc,
int field,
float curVal,
float newVal)
setFloatField in interface StateManager
public void setIntField(PersistenceCapable pc,
int field,
int curVal,
int newVal)
setIntField in interface StateManager
public void setLongField(PersistenceCapable pc,
int field,
long curVal,
long newVal)
setLongField in interface StateManager
public void setObjectField(PersistenceCapable pc,
int field,
Object curVal,
Object newVal)
setObjectField in interface StateManager
public void setShortField(PersistenceCapable pc,
int field,
short curVal,
short newVal)
setShortField in interface StateManager
public void setStringField(PersistenceCapable pc,
int field,
String curVal,
String newVal)
setStringField in interface StateManager
public void providedBooleanField(PersistenceCapable pc,
int field,
boolean curVal)
providedBooleanField in interface StateManager
public void providedByteField(PersistenceCapable pc,
int field,
byte curVal)
providedByteField in interface StateManager
public void providedCharField(PersistenceCapable pc,
int field,
char curVal)
providedCharField in interface StateManager
public void providedDoubleField(PersistenceCapable pc,
int field,
double curVal)
providedDoubleField in interface StateManager
public void providedFloatField(PersistenceCapable pc,
int field,
float curVal)
providedFloatField in interface StateManager
public void providedIntField(PersistenceCapable pc,
int field,
int curVal)
providedIntField in interface StateManager
public void providedLongField(PersistenceCapable pc,
int field,
long curVal)
providedLongField in interface StateManager
public void providedObjectField(PersistenceCapable pc,
int field,
Object curVal)
providedObjectField in interface StateManager
public void providedShortField(PersistenceCapable pc,
int field,
short curVal)
providedShortField in interface StateManager
public void providedStringField(PersistenceCapable pc,
int field,
String curVal)
providedStringField in interface StateManager
public boolean replacingBooleanField(PersistenceCapable pc,
int field)
replacingBooleanField in interface StateManager
public byte replacingByteField(PersistenceCapable pc,
int field)
replacingByteField in interface StateManager
public char replacingCharField(PersistenceCapable pc,
int field)
replacingCharField in interface StateManager
public double replacingDoubleField(PersistenceCapable pc,
int field)
replacingDoubleField in interface StateManager
public float replacingFloatField(PersistenceCapable pc,
int field)
replacingFloatField in interface StateManager
public int replacingIntField(PersistenceCapable pc,
int field)
replacingIntField in interface StateManager
public long replacingLongField(PersistenceCapable pc,
int field)
replacingLongField in interface StateManager
public Object replacingObjectField(PersistenceCapable pc,
int field)
replacingObjectField in interface StateManager
public short replacingShortField(PersistenceCapable pc,
int field)
replacingShortField in interface StateManager
public String replacingStringField(PersistenceCapable pc,
int field)
replacingStringField in interface StateManagerpublic boolean fetchBooleanField(int field)
fetchBooleanField in class FieldManagerpublic byte fetchByteField(int field)
fetchByteField in class FieldManagerpublic char fetchCharField(int field)
fetchCharField in class FieldManagerpublic double fetchDoubleField(int field)
fetchDoubleField in class FieldManagerpublic float fetchFloatField(int field)
fetchFloatField in class FieldManagerpublic int fetchIntField(int field)
fetchIntField in class FieldManagerpublic long fetchLongField(int field)
fetchLongField in class FieldManagerpublic Object fetchObjectField(int field)
fetchObjectField in class FieldManagerpublic short fetchShortField(int field)
fetchShortField in class FieldManagerpublic String fetchStringField(int field)
fetchStringField in class FieldManager
public void storeBooleanField(int field,
boolean curVal)
storeBooleanField in class FieldManager
public void storeByteField(int field,
byte curVal)
storeByteField in class FieldManager
public void storeCharField(int field,
char curVal)
storeCharField in class FieldManager
public void storeDoubleField(int field,
double curVal)
storeDoubleField in class FieldManager
public void storeFloatField(int field,
float curVal)
storeFloatField in class FieldManager
public void storeIntField(int field,
int curVal)
storeIntField in class FieldManager
public void storeLongField(int field,
long curVal)
storeLongField in class FieldManager
public void storeObjectField(int field,
Object curVal)
storeObjectField in class FieldManager
public void storeShortField(int field,
short curVal)
storeShortField in class FieldManager
public void storeStringField(int field,
String curVal)
storeStringField in class FieldManager
public Object proxy(FieldMetaData fmd,
Object val)
void setLoaded(boolean val)
void setDirty(boolean val)
void clearFields()
InstanceCallbacks.jdoPreClear() method
on the instance, clears all managed fields, and calls the
setLoaded(boolean) method with a value of false. Primary key fields
are not cleared.void saveFields()
rollbackFields().void clearSavedFields()
saveFields().void rollbackFields()
saveFields(), or to default values if never saved.void updateObjectId()
void preFlush()
void preStore()
InstanceCallbacks.jdoPreStore(), if implemented.void preDelete()
void replaceSecondClassObjectFields()
void replaceFlags(byte flags)
|
SolarMetric Kodo JDO 2.5.8 generated on January 11 2004 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||