|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.arjuna.ats.arjuna.StateManager
com.arjuna.ats.arjuna.coordinator.AbstractRecord
com.arjuna.ats.arjuna.PersistenceRecord
com.arjuna.ats.arjuna.CadaverRecord
com.arjuna.ats.arjuna.DisposeRecord
public class DisposeRecord
| Field Summary | |
|---|---|
protected StateManager |
objectAddr
|
protected OutputObjectState |
state
|
| Fields inherited from class com.arjuna.ats.arjuna.PersistenceRecord |
|---|
classicPrepare, MAX_OBJECT_SIZE, shadowMade, topLevelState |
| Fields inherited from class com.arjuna.ats.arjuna.StateManager |
|---|
modifyingActions, objectName, smAttributes, usingActions |
| Constructor Summary | |
|---|---|
protected |
DisposeRecord()
|
|
DisposeRecord(ObjectStore objStore,
StateManager sm)
|
| Method Summary | |
|---|---|
void |
alter(AbstractRecord a)
Alter the current record with the one presented. |
ClassName |
className()
The ClassName representation of this class. |
static AbstractRecord |
create()
|
boolean |
doSave()
Override the AbstractRecord.doSave. |
void |
finalize()
Tidy-up the instance. |
protected void |
forgetAction(boolean commit)
|
int |
nestedAbort()
The nested transaction has aborted. |
int |
nestedCommit()
nestedCommit does nothing since the passing of the state up to the parent action is handled by the record list merging system. |
int |
nestedPrepare()
The nested transaction is preparing. |
void |
print(java.io.PrintWriter strm)
Override AbstractRecord.print to write specific information to the specified stream. |
boolean |
propagateOnAbort()
Override default AbstractRecord method. |
boolean |
restore_state(InputObjectState os,
int ot)
During recovery, the transaction log is given to the recovery system and it will recreate a transaction instance to perform necessary recovery actions. |
boolean |
save_state(OutputObjectState os,
int ot)
When the transaction is required to make the intentions list persistent, it scans the list and asks each record whether or not it requires state to be saved (by calling doSave). |
void |
setValue(java.lang.Object newState)
|
boolean |
shouldAdd(AbstractRecord a)
Should we add the record presented to the intentions list? |
boolean |
shouldAlter(AbstractRecord a)
Should we alter the current record with the one presented? |
boolean |
shouldMerge(AbstractRecord a)
Overrides AbstractRecord.shouldMerge |
boolean |
shouldReplace(AbstractRecord a)
Overrides AbstractRecord.shouldReplace |
int |
topLevelAbort()
The nested transaction has aborted. |
int |
topLevelCommit()
At topLevelCommit we remove the state from the object store. |
int |
topLevelPrepare()
At topLevelPrepare write uncommitted version into object store. |
java.lang.String |
type()
The type of the class - may be used to save information in an hierarchical manner in the object store. |
int |
typeIs()
The type of the record. |
java.lang.Object |
value()
If this abstract record caused a heuristic then it should return an object which implements HeuristicInformation |
| Methods inherited from class com.arjuna.ats.arjuna.CadaverRecord |
|---|
merge |
| Methods inherited from class com.arjuna.ats.arjuna.PersistenceRecord |
|---|
shadowForced, topLevelCleanup |
| Methods inherited from class com.arjuna.ats.arjuna.coordinator.AbstractRecord |
|---|
create, equals, forgetHeuristic, getNext, getPrevious, getTypeOfObject, greaterThan, lessThan, nestedCleanup, nestedOnePhaseCommit, order, propagateOnCommit, replace, setNext, setPrevious, topLevelOnePhaseCommit |
| Methods inherited from class com.arjuna.ats.arjuna.StateManager |
|---|
activate, activate, attributes, cleanup, deactivate, deactivate, deactivate, destroy, disable, forgetAction, get_uid, getMutex, getStore, getStoreRoot, loadObjectState, lockMutex, modified, ObjectType, packHeader, persist, rememberAction, setStatus, setupStore, setupStore, status, terminate, tryLockMutex, unlockMutex, unpackHeader |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected StateManager objectAddr
protected OutputObjectState state
| Constructor Detail |
|---|
public DisposeRecord(ObjectStore objStore,
StateManager sm)
protected DisposeRecord()
| Method Detail |
|---|
public void finalize()
CadaverRecord
finalize in class CadaverRecordpublic boolean propagateOnAbort()
CadaverRecord
propagateOnAbort in class CadaverRecordtruepublic int typeIs()
CadaverRecord
typeIs in class CadaverRecordRecordTypepublic ClassName className()
CadaverRecord
className in class CadaverRecordClassName to identify this abstract record.public int nestedAbort()
CadaverRecord
nestedAbort in class CadaverRecordTwoPhaseOutcome to indicate success/failure.TwoPhaseOutcomepublic int nestedCommit()
TwoPhaseOutcome to indicate success/failure.TwoPhaseOutcomepublic int nestedPrepare()
CadaverRecord
nestedPrepare in class CadaverRecordTwoPhaseOutcome to indicate success/failure.TwoPhaseOutcomepublic int topLevelAbort()
CadaverRecord
topLevelAbort in class CadaverRecordTwoPhaseOutcome to indicate success/failure.TwoPhaseOutcomepublic int topLevelCommit()
topLevelCommit in class CadaverRecordTwoPhaseOutcome to indicate success/failure.TwoPhaseOutcomepublic int topLevelPrepare()
CadaverRecord
topLevelPrepare in class CadaverRecordTwoPhaseOutcome to indicate success/failure.TwoPhaseOutcomepublic void print(java.io.PrintWriter strm)
CadaverRecord
print in class CadaverRecordpublic boolean doSave()
CadaverRecord
doSave in class CadaverRecordtrue if the object being removed is a persistent
object (RecordType.PERSISTENT). false otherwise.RecordType
public boolean save_state(OutputObjectState os,
int ot)
AbstractRecord
save_state in class PersistenceRecordtrue if successful, false
otherwise.
public boolean restore_state(InputObjectState os,
int ot)
AbstractRecord
restore_state in class PersistenceRecordtrue if successful, false
otherwise.public java.lang.String type()
CadaverRecord
type in class CadaverRecordpublic boolean shouldAdd(AbstractRecord a)
AbstractRecord
true if the record should be added,
false otherwise.public boolean shouldMerge(AbstractRecord a)
CadaverRecord
shouldMerge in class CadaverRecordtrue if this instance and the parameter have the
same id (order()) and the parameter is either persistent or recoverable.
false otherwise.RecordTypepublic boolean shouldReplace(AbstractRecord a)
CadaverRecord
shouldReplace in class CadaverRecordtrue if this instance and the parameter have the
same id (order()) and the parameter is either persistent or recoverable.
false otherwise.RecordTypepublic boolean shouldAlter(AbstractRecord a)
AbstractRecord
true if the record should be altered,
false otherwise.public static AbstractRecord create()
public java.lang.Object value()
AbstractRecordHeuristicInformation
value in class AbstractRecordObject to be used to order.public void setValue(java.lang.Object newState)
setValue in class AbstractRecordpublic void alter(AbstractRecord a)
AbstractRecord
alter in class AbstractRecordprotected final void forgetAction(boolean commit)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||