public interface StateManager
StateManager
instance which is
responsible for managing the JDO Instance state changes and for
interfacing with the JDO PersistenceManager.
Additionally, Persistent JDO Instances refers to an instance of the
JDO StateManager
instance responsible for the state
transitions of the instance as well as managing the contents of the
fields of the instance.
The JDO StateManager
interface is the primary interface used
by the JDO Instance to mediate life cycle changes. Non-transient JDO
Instances always contain a non-null reference to an associated JDO
StateManager
instance.
When a First Class Object is instantiated in the JVM, the JDO
implementation assigns to fields with a Tracked Second Class Object
type a new instance that tracks changes made to itself, and
notifies the StateManager
of the owning First Class Object
of the change.Modifier and Type | Field and Description |
---|---|
static byte |
LOAD_REQUIRED |
static byte |
READ_OK |
static byte |
READ_WRITE_OK |
Modifier and Type | Method and Description |
---|---|
void |
addDependency(StateManager sm)
Adds another StateManager to this StateManager dependencies list.
|
void |
applyUpdates(String fieldName,
SCOCollection c)
...
|
void |
commit(boolean retainValues)
...
|
void |
copyFields(StateManager source)
Copies field values from
source to this
StateManager's fields. |
void |
deletePersistent()
...
|
void |
flushed()
...
|
Object |
getHiddenValue(int index)
Returns value for a hidden field.
|
void |
getLock()
Lock this instance.
|
Object |
getObjectId()
...
|
PersistenceConfig |
getPersistenceConfig()
...
|
PersistenceManager |
getPersistenceManager()
...
|
PersistenceManager |
getPersistenceManagerInternal()
...
|
Object |
getPersistent()
get actualImage associated with this
StateManager |
boolean |
getPresenceMaskBit(int index)
Returns true if field with this index is present in the instance.
|
boolean |
hasVersionConsistency()
Returns true, if the managed instance has Version Consistency.
|
void |
initialize(boolean persistentInDB)
State initialization
|
boolean |
isDeleted()
...
|
boolean |
isDirty() |
boolean |
isNew()
...
|
boolean |
isPersistent()
...
|
boolean |
isProcessed()
...
|
boolean |
isTransactional()
...
|
boolean |
isValid()
Returns true if this StateManager is valid for use.
|
boolean |
isVerificationFailed()
Returns, if this state manager has failed version consistency
validation.
|
void |
loadForRead()
...
|
void |
loadForUpdate()
...
|
void |
makeDirty(String fieldName)
...
|
void |
makePersistent(PersistenceManager pm,
Object pc)
The
PersistenceManager needs to call this method
in order to make an instance persistent. |
void |
makePresent(String fieldName,
Object value)
...
|
void |
markNotRegistered()
Notifies the StateManager that this instance needs to be registered
with the global (weak) cache at rollback if it transitions to persistent
state.
|
void |
markReplacement()
Notifies the StateManager that this instance is a replacement for a
deleted instance with the same ObjectId.
|
void |
markVerifyAtDeregister()
Notifies the StateManager that this instance needs to be verified at
the time it is removed from the global (weak) cache at rollback if it
transitions to transient state.
|
boolean |
needsRegisterWithVersionConsistencyCache() |
boolean |
needsUpdateInVersionConsistencyCache() |
void |
prepareGetField(int fieldID) |
void |
prepareToUpdatePhaseI() |
void |
prepareToUpdatePhaseII(HashSet phase3sms)
This is the second phase of the commit processing.
|
void |
prepareToUpdatePhaseIII()
This is the third phase of commit processing.
|
void |
refreshPersistent()
...
|
void |
release()
Release references in the StateManager to the persistent instance,
ObjectId, and PersistenceManager.
|
void |
releaseLock()
Release this instance.
|
void |
reload()
Reload the instance associated with this StateManager.
|
void |
replaceObjectField(String fieldName,
Object o)
...
|
void |
resolveDependencies()
Tries to resolve the dependencies for all instances waiting for the
current state manager to be flushed to the store.
|
void |
rollback(boolean retainValues)
...
|
boolean[] |
setBooleanArrayField(int fieldNumber,
boolean[] value) |
boolean |
setBooleanField(int fieldNumber,
boolean value) |
byte[] |
setByteArrayField(int fieldNumber,
byte[] value) |
byte |
setByteField(int fieldNumber,
byte value) |
char |
setCharArrayField(int fieldNumber,
char value) |
char |
setCharField(int fieldNumber,
char value) |
double[] |
setDoubleArrayField(int fieldNumber,
double[] value) |
double |
setDoubleField(int fieldNumber,
double value) |
byte |
setFlags(byte flags)
...
|
float[] |
setFloatArrayField(int fieldNumber,
float[] value) |
float |
setFloatField(int fieldNumber,
float value) |
void |
setHiddenValue(int index,
Object value)
Sets value for a hidden field.
|
int[] |
setIntArrayField(int fieldNumber,
int[] value) |
int |
setIntField(int fieldNumber,
int value) |
long[] |
setLongArrayField(int fieldNumber,
long[] value) |
long |
setLongField(int fieldNumber,
long value) |
Object[] |
setObjectArrayField(int fieldNumber,
Object[] value) |
Object |
setObjectField(int fieldNumber,
Object value) |
void |
setObjectId(Object objectId)
...
|
void |
setPersistenceManager(PersistenceManager pm)
...
|
void |
setPersistent(Object obj)
set actualImage associated with this
StateManager |
void |
setPresenceMaskBit(int index)
Marks field with this index as present.
|
short[] |
setShortArrayField(int fieldNumber,
short[] value) |
short |
setShortField(int fieldNumber,
short value) |
String[] |
setStringArrayField(int fieldNumber,
String[] value) |
String |
setStringField(int fieldNumber,
String value) |
void |
setValid()
Mark this StateManager as valid.
|
void |
setVerificationFailed()
Marks that this state manager has failed version consistency
validation.
|
void |
updatePersistent(StateManager next)
...
|
boolean |
verifyPersistent()
Verify that an instance set up with Version consistency is not modified
in a parallel transaction.
|
static final byte LOAD_REQUIRED
static final byte READ_OK
static final byte READ_WRITE_OK
void makePersistent(PersistenceManager pm, Object pc)
PersistenceManager
needs to call this method
in order to make an instance persistent.void deletePersistent()
PersistenceManager
calls this method to delete
a persistent instance.void updatePersistent(StateManager next)
PersistenceManager
calls this method to flush
changes made to the StateManager
to the database.
The specified StateManager argument is used to determine whether the
actual instance should be flushed immediately or whether batch update
is possible.void refreshPersistent()
PersistenceManager
calls this method to refresh
the state of the StateManager
from the database.void commit(boolean retainValues)
PersistenceManager
calls this method to inform
the StateManager
that the transaction has been committed.void rollback(boolean retainValues)
PersistenceManager
calls this method to inform
the StateManager
that the transaction has been rolled back.void flushed()
PersistenceManager
calls this method to inform
the StateManager
that the flush processing is completed.boolean isProcessed()
PersistenceManager
calls this method to verify
that corresponding object has been flushed to the databasevoid setPersistenceManager(PersistenceManager pm)
PersistenceManager getPersistenceManager()
PersistenceManager getPersistenceManagerInternal()
void setPersistent(Object obj)
StateManager
Object getPersistent()
StateManager
void setObjectId(Object objectId)
Object getObjectId()
PersistenceConfig getPersistenceConfig()
void initialize(boolean persistentInDB)
persistentInDB
- true if object is persistent in DBvoid makeDirty(String fieldName)
void applyUpdates(String fieldName, SCOCollection c)
void prepareToUpdatePhaseI()
void prepareToUpdatePhaseII(HashSet phase3sms)
void prepareToUpdatePhaseIII()
byte setFlags(byte flags)
void loadForRead()
void loadForUpdate()
boolean isDirty()
boolean isTransactional()
boolean isNew()
boolean isDeleted()
boolean isPersistent()
boolean needsRegisterWithVersionConsistencyCache()
boolean needsUpdateInVersionConsistencyCache()
void prepareGetField(int fieldID)
boolean setBooleanField(int fieldNumber, boolean value)
boolean[] setBooleanArrayField(int fieldNumber, boolean[] value)
byte setByteField(int fieldNumber, byte value)
byte[] setByteArrayField(int fieldNumber, byte[] value)
short setShortField(int fieldNumber, short value)
short[] setShortArrayField(int fieldNumber, short[] value)
int setIntField(int fieldNumber, int value)
int[] setIntArrayField(int fieldNumber, int[] value)
long setLongField(int fieldNumber, long value)
long[] setLongArrayField(int fieldNumber, long[] value)
char setCharField(int fieldNumber, char value)
char setCharArrayField(int fieldNumber, char value)
float setFloatField(int fieldNumber, float value)
float[] setFloatArrayField(int fieldNumber, float[] value)
double setDoubleField(int fieldNumber, double value)
double[] setDoubleArrayField(int fieldNumber, double[] value)
void getLock()
void releaseLock()
Object getHiddenValue(int index)
index
- - the hidden field index.void setHiddenValue(int index, Object value)
index
- - the hidden field index.value
- - new value.void setPresenceMaskBit(int index)
index
- - the field number.boolean getPresenceMaskBit(int index)
void markNotRegistered()
void markVerifyAtDeregister()
void addDependency(StateManager sm)
sm
- the StateManager to add.void resolveDependencies()
void markReplacement()
void release()
boolean isValid()
valid
flag is initially set to false and changed to true
when the first operation (e.g. makePersistent(), loadForRead(), or
PersistenceManager.getObjectById()) succeeds.void setValid()
void reload()
PersistenceManager.getObjectById(Object, boolean)
with validate
flag set to true
boolean hasVersionConsistency()
void copyFields(StateManager source)
source
to this
StateManager's fields.source
- StateManager from which field values are
copied into this instance.boolean verifyPersistent()
void setVerificationFailed()
boolean isVerificationFailed()
Copyright © 2019. All rights reserved.