public class SQLStateManager extends Object implements Cloneable, StateManager, TestStateManager
| Modifier and Type | Field and Description |
|---|---|
ArrayList |
hiddenValues
Array of Object.
|
static String |
USE_BATCH_PROPERTY
Name of the USE_BATCH property.
|
LOAD_REQUIRED, READ_OK, READ_WRITE_OK| Constructor and Description |
|---|
SQLStateManager(PersistenceStore store,
ClassDesc persistenceConfig)
Construct a new SQLStateManager so that it locks or does not lock as
per whether or not it is used in a managed environment.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addDependency(StateManager sm)
This method adds the dependency between this StateManager
and the other.
|
void |
applyUpdates(String fieldName,
SCOCollection c)
This method is central to record changes to SCOCollections.
|
Object |
clone() |
void |
commit(boolean retainValues)
...
|
void |
copyFields(StateManager source)
Copies field values from
source to this
StateManager's fields. |
void |
deletePersistent()
Prepares the associated object for delete.
|
void |
flushed()
...
|
SQLStateManager |
getBeforeImage() |
protected LifeCycleState |
getCurrentState()
For test purposes
|
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 |
getSetMaskBit(int index) |
PersistenceStore |
getStore() |
boolean |
hasVersionConsistency()
Returns true, if the managed instance has Version Consistency.
|
void |
incrementVersion()
Increments the version fields for this state manager.
|
void |
initialize(boolean persistentInDB)
State initialization
|
boolean |
isBeforeImageRequired() |
boolean |
isDeleted()
...
|
boolean |
isDirty()
...
|
boolean |
isNew()
...
|
boolean |
isPersistent()
...
|
boolean |
isProcessed()
...
|
boolean |
isTransactional()
...
|
boolean |
isValid()
Return value for valid flag.
|
boolean |
isVerificationFailed()
Returns, if this state manager has failed version consistency
validation.
|
void |
loadForRead()
Triggers the state transition for READ and registers the
instance in the transaction cache.
|
void |
loadForUpdate()
Triggers the state transition for WRITE and registers the instance
in the transaction cache.
|
void |
makeDirty(String fieldName)
...
|
void |
makePersistent(PersistenceManager pm,
Object pc)
Prepares the associated object to be stored in the datastore.
|
void |
makePresent(String fieldName,
Object value)
...
|
void |
markNotRegistered()
Marks this instance needs to require registering with the global (weak) cache
at rollback if it transitions to persistent state.
|
void |
markReplacement()
Marks this instance as a replacement for a deleted instance with the same
ObjectId.
|
void |
markVerifyAtDeregister()
Marks this instance as 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()
PersistenceManager calls this method to prepare a persistent
object for update.
|
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 lock.
|
void |
reload()
Reloads the instance by delegating actual work, state transition, and
instance registration to
reload(FieldDesc)
With null as an argument. |
void |
replaceCollection(ForeignFieldDesc ff,
Collection c)
This method serves two purposes:
1.
|
void |
replaceObjectField(String fieldName,
Object o)
...
|
void |
resolveDependencies()
Resolves the dependencies for the instances waiting for this state manager.
|
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)
This method sets object fields, e.g.
|
void |
setObjectId(Object objectId)
...
|
void |
setPersistenceManager(PersistenceManager pm)
...
|
void |
setPersistent(Object pc)
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.
|
boolean |
testIsAutoPersistent()
This method is used to determine if an instance is in the autopersistent
state.
|
boolean |
testIsLoaded(int fieldNumber)
This method is used to test if a field identified by fieldNumber
is loaded in memory.
|
boolean |
testIsLoaded(String fieldName)
This method is used to test if a field identified by fieldName
is loaded in memory.
|
void |
updatePersistent(StateManager next)
Stores the associated object in the datastore.
|
boolean |
verifyPersistent()
Verify that an instance set up with Version consistency is not modified
in a parallel transaction.
|
public ArrayList hiddenValues
public static final String USE_BATCH_PROPERTY
public SQLStateManager(PersistenceStore store, ClassDesc persistenceConfig)
public void initialize(boolean persistentInDB)
StateManagerinitialize in interface StateManagerpersistentInDB - true if object is persistent in DBpublic void setPersistenceManager(PersistenceManager pm)
StateManagersetPersistenceManager in interface StateManagerpublic void setPersistent(Object pc)
StateManagerStateManagersetPersistent in interface StateManagerpublic PersistenceStore getStore()
public Object getPersistent()
StateManagerStateManagergetPersistent in interface StateManagerpublic PersistenceConfig getPersistenceConfig()
StateManagergetPersistenceConfig in interface StateManagerpublic void setPresenceMaskBit(int index)
StateManagersetPresenceMaskBit in interface StateManagerindex - - the field number.public boolean getPresenceMaskBit(int index)
StateManagergetPresenceMaskBit in interface StateManagerpublic boolean getSetMaskBit(int index)
public Object getHiddenValue(int index)
StateManagergetHiddenValue in interface StateManagerindex - - the hidden field index.public void setHiddenValue(int index,
Object value)
StateManagersetHiddenValue in interface StateManagerindex - - the hidden field index.value - - new value.public void replaceObjectField(String fieldName, Object o)
StateManagerreplaceObjectField in interface StateManagerpublic void makeDirty(String fieldName)
StateManagermakeDirty in interface StateManagerpublic void applyUpdates(String fieldName, SCOCollection c)
applyUpdates in interface StateManagerpublic void makePresent(String fieldName, Object value)
StateManagermakePresent in interface StateManagerpublic void setObjectId(Object objectId)
StateManagersetObjectId in interface StateManagerpublic Object getObjectId()
StateManagergetObjectId in interface StateManagerpublic void makePersistent(PersistenceManager pm, Object pc)
makePersistent in interface StateManagerpublic void deletePersistent()
deletePersistent in interface StateManagerpublic void updatePersistent(StateManager next)
PersistenceManager.beforeCompletion() on
flush/commit. The specified state manager argument is used to
determine whether the actual instance should be flushed
immediately or whether batch update is possible.updatePersistent in interface StateManagernext - Next state manager in the transaction cache.public void incrementVersion()
public boolean hasVersionConsistency()
StateManagerhasVersionConsistency in interface StateManagerpublic boolean verifyPersistent()
StateManagerverifyPersistent in interface StateManagerpublic void setVerificationFailed()
StateManagersetVerificationFailed in interface StateManagerpublic boolean isVerificationFailed()
StateManagerisVerificationFailed in interface StateManagerpublic void refreshPersistent()
StateManagerPersistenceManager calls this method to refresh
the state of the StateManager from the database.refreshPersistent in interface StateManagerpublic void reload()
reload(FieldDesc)
With null as an argument. Called by
PersistenceManager.getObjectById(Object, boolean) with validate
flag set to truereload in interface StateManagerpublic void prepareToUpdatePhaseI()
prepareToUpdatePhaseI in interface StateManagerpublic void prepareToUpdatePhaseII(HashSet phase3sms)
prepareToUpdatePhaseII in interface StateManagerphase3sms - List containing autopersistent instances that are no longer reachable
from a persistent instance.public void prepareToUpdatePhaseIII()
prepareToUpdatePhaseIII in interface StateManagerpublic void release()
StateManagerrelease in interface StateManagerpublic boolean isProcessed()
StateManagerPersistenceManager calls this method to verify
that corresponding object has been flushed to the databaseisProcessed in interface StateManagerpublic void flushed()
StateManagerPersistenceManager calls this method to inform
the StateManager that the flush processing is completed.flushed in interface StateManagerpublic void commit(boolean retainValues)
StateManagerPersistenceManager calls this method to inform
the StateManager that the transaction has been committed.commit in interface StateManagerpublic void rollback(boolean retainValues)
StateManagerPersistenceManager calls this method to inform
the StateManager that the transaction has been rolled back.rollback in interface StateManagerpublic void prepareGetField(int fieldID)
prepareGetField in interface StateManagerpublic SQLStateManager getBeforeImage()
public boolean isBeforeImageRequired()
public void copyFields(StateManager source)
StateManagersource to this
StateManager's fields.copyFields in interface StateManagersource - StateManager from which field values are
copied into this instance.IllegalArgumentException - if source is null, is
not instanceof SQLStateManager, or is not managing the
same type of persistent instance as this StateManager.public void addDependency(StateManager sm)
addDependency in interface StateManagersm - Second state manager.StateManager.addDependency(StateManager sm)public void resolveDependencies()
This method checks the dependencies for all instances waiting for the current state manager to be flushed to the store.
resolveDependencies in interface StateManagerpublic PersistenceManager getPersistenceManagerInternal()
getPersistenceManagerInternal in interface StateManagerpublic PersistenceManager getPersistenceManager()
getPersistenceManager in interface StateManagerpublic byte setFlags(byte flags)
setFlags in interface StateManagerpublic void loadForRead()
loadForRead in interface StateManagerpublic void loadForUpdate()
loadForUpdate in interface StateManagerpublic void replaceCollection(ForeignFieldDesc ff, Collection c)
protected LifeCycleState getCurrentState()
public boolean isDirty()
isDirty in interface StateManagerpublic boolean isTransactional()
isTransactional in interface StateManagerpublic boolean isNew()
isNew in interface StateManagerpublic boolean isDeleted()
isDeleted in interface StateManagerpublic boolean isPersistent()
isPersistent in interface StateManagerpublic boolean needsRegisterWithVersionConsistencyCache()
needsRegisterWithVersionConsistencyCache in interface StateManagerpublic boolean needsUpdateInVersionConsistencyCache()
needsUpdateInVersionConsistencyCache in interface StateManagerpublic boolean setBooleanField(int fieldNumber,
boolean value)
setBooleanField in interface StateManagerpublic boolean[] setBooleanArrayField(int fieldNumber,
boolean[] value)
setBooleanArrayField in interface StateManagerpublic byte setByteField(int fieldNumber,
byte value)
setByteField in interface StateManagerpublic byte[] setByteArrayField(int fieldNumber,
byte[] value)
setByteArrayField in interface StateManagerpublic short setShortField(int fieldNumber,
short value)
setShortField in interface StateManagerpublic short[] setShortArrayField(int fieldNumber,
short[] value)
setShortArrayField in interface StateManagerpublic int setIntField(int fieldNumber,
int value)
setIntField in interface StateManagerpublic int[] setIntArrayField(int fieldNumber,
int[] value)
setIntArrayField in interface StateManagerpublic long setLongField(int fieldNumber,
long value)
setLongField in interface StateManagerpublic long[] setLongArrayField(int fieldNumber,
long[] value)
setLongArrayField in interface StateManagerpublic char setCharField(int fieldNumber,
char value)
setCharField in interface StateManagerpublic char setCharArrayField(int fieldNumber,
char value)
setCharArrayField in interface StateManagerpublic float setFloatField(int fieldNumber,
float value)
setFloatField in interface StateManagerpublic float[] setFloatArrayField(int fieldNumber,
float[] value)
setFloatArrayField in interface StateManagerpublic double setDoubleField(int fieldNumber,
double value)
setDoubleField in interface StateManagerpublic double[] setDoubleArrayField(int fieldNumber,
double[] value)
setDoubleArrayField in interface StateManagerpublic String setStringField(int fieldNumber, String value)
setStringField in interface StateManagerpublic String[] setStringArrayField(int fieldNumber, String[] value)
setStringArrayField in interface StateManagerpublic Object setObjectField(int fieldNumber, Object value)
setObjectField in interface StateManagerpublic Object[] setObjectArrayField(int fieldNumber, Object[] value)
setObjectArrayField in interface StateManagerpublic boolean testIsLoaded(int fieldNumber)
TestStateManagertestIsLoaded in interface TestStateManagerpublic boolean testIsLoaded(String fieldName)
TestStateManagertestIsLoaded in interface TestStateManagerpublic boolean testIsAutoPersistent()
TestStateManagertestIsAutoPersistent in interface TestStateManagerpublic void markNotRegistered()
markNotRegistered in interface StateManagerpublic void markVerifyAtDeregister()
markVerifyAtDeregister in interface StateManagerpublic void markReplacement()
markReplacement in interface StateManagerpublic void getLock()
getLock in interface StateManagerpublic void releaseLock()
releaseLock in interface StateManagerpublic boolean isValid()
isValid in interface StateManagerpublic void setValid()
setValid in interface StateManagerCopyright © 2017. All rights reserved.