|
|||||||||
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 CadaverRecord
public boolean propagateOnAbort()
CadaverRecord
propagateOnAbort
in class CadaverRecord
true
public int typeIs()
CadaverRecord
typeIs
in class CadaverRecord
RecordType
public ClassName className()
CadaverRecord
className
in class CadaverRecord
ClassName
to identify this abstract record.public int nestedAbort()
CadaverRecord
nestedAbort
in class CadaverRecord
TwoPhaseOutcome
to indicate success/failure.TwoPhaseOutcome
public int nestedCommit()
TwoPhaseOutcome
to indicate success/failure.TwoPhaseOutcome
public int nestedPrepare()
CadaverRecord
nestedPrepare
in class CadaverRecord
TwoPhaseOutcome
to indicate success/failure.TwoPhaseOutcome
public int topLevelAbort()
CadaverRecord
topLevelAbort
in class CadaverRecord
TwoPhaseOutcome
to indicate success/failure.TwoPhaseOutcome
public int topLevelCommit()
topLevelCommit
in class CadaverRecord
TwoPhaseOutcome
to indicate success/failure.TwoPhaseOutcome
public int topLevelPrepare()
CadaverRecord
topLevelPrepare
in class CadaverRecord
TwoPhaseOutcome
to indicate success/failure.TwoPhaseOutcome
public void print(java.io.PrintWriter strm)
CadaverRecord
print
in class CadaverRecord
public boolean doSave()
CadaverRecord
doSave
in class CadaverRecord
true
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 PersistenceRecord
true
if successful, false
otherwise.public boolean restore_state(InputObjectState os, int ot)
AbstractRecord
restore_state
in class PersistenceRecord
true
if successful, false
otherwise.public java.lang.String type()
CadaverRecord
type
in class CadaverRecord
public boolean shouldAdd(AbstractRecord a)
AbstractRecord
true
if the record should be added,
false
otherwise.public boolean shouldMerge(AbstractRecord a)
CadaverRecord
shouldMerge
in class CadaverRecord
true
if this instance and the parameter have the
same id (order()) and the parameter is either persistent or recoverable.
false
otherwise.RecordType
public boolean shouldReplace(AbstractRecord a)
CadaverRecord
shouldReplace
in class CadaverRecord
true
if this instance and the parameter have the
same id (order()) and the parameter is either persistent or recoverable.
false
otherwise.RecordType
public boolean shouldAlter(AbstractRecord a)
AbstractRecord
true
if the record should be altered,
false
otherwise.public static AbstractRecord create()
public java.lang.Object value()
AbstractRecord
HeuristicInformation
value
in class AbstractRecord
Object
to be used to order.public void setValue(java.lang.Object newState)
setValue
in class AbstractRecord
public void alter(AbstractRecord a)
AbstractRecord
alter
in class AbstractRecord
protected final void forgetAction(boolean commit)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |