edu.mit.ai.psg.traveler
Class SynchronizationRecordObservable

java.lang.Object
  |
  +--edu.mit.ai.psg.traveler.ActivityRecordBase
        |
        +--edu.mit.ai.psg.traveler.SynchronizationRecordDefault
              |
              +--edu.mit.ai.psg.traveler.SynchronizationRecordObservable

public class SynchronizationRecordObservable
extends SynchronizationRecordDefault
implements ObservableRecord

Extends SynchronizationRecordDefault to support ChangeObservers.

See Also:
ActivityRecordObservableBase, TraceRecorderDefault.invoking(java.lang.Object, java.lang.reflect.Member, java.lang.Object[])

Inner classes inherited from class edu.mit.ai.psg.traveler.SynchronizationRecordDefault
SynchronizationRecordDefault.Entry, SynchronizationRecordDefault.Exit
 
Fields inherited from class edu.mit.ai.psg.traveler.SynchronizationRecordDefault
myMember, myTargetNow, myTargetThen
 
Fields inherited from class edu.mit.ai.psg.traveler.ActivityRecordBase
parent
 
Constructor Summary
SynchronizationRecordObservable(Object target, Member member)
           
 
Method Summary
 void addChangeObserver(ChangeObserver observer)
          arrange to be notified as follows: call completed or parent set: observer.notifyChanged(thisRecord)
child added: observer.notifyAdded(thisRecord, childRecord)
 void addChild(ActivityRecord child)
          add child to this parent's children, and set child's parent to this
 void addSynchronizationChild(SynchronizationRecord childRecord)
          add record of nested/recursive call for synchronization e.g., a nested synchronized block or wait.
 boolean isReadOnly()
          returns false
 void removeChangeObserver(ChangeObserver observer)
           
 void setParent(ActivityRecord parentRecord)
          called by addChild
 void setSynchronizationParent(SynchronizationRecord parentRecord)
          called by addSynchronizationChild(edu.mit.ai.psg.traveler.SynchronizationRecord)
 
Methods inherited from class edu.mit.ai.psg.traveler.SynchronizationRecordDefault
addSynchronizationEntry, addSynchronizationExit, finished, getMember, getSynchronizationChildren, getSynchronizationEntry, getSynchronizationExit, getSynchronizationParent, getTargetNow, getTargetThen, isSynchronized, isSynchronizedWait, makeSynchronizationEntryRecord, makeSynchronizationExitRecord, toString
 
Methods inherited from class edu.mit.ai.psg.traveler.ActivityRecordBase
addThreadedChild, cloneObject, ensureListValue, getChildren, getChildrenInThread, getParent, getProperty, getThreadedChildren, isFinished, putProperty, removeProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SynchronizationRecordObservable

public SynchronizationRecordObservable(Object target,
                                       Member member)
Method Detail

isReadOnly

public boolean isReadOnly()
returns false
Specified by:
isReadOnly in interface ObservableRecord

setParent

public void setParent(ActivityRecord parentRecord)
Description copied from interface: ActivityRecord
called by addChild
Overrides:
setParent in class ActivityRecordBase

addChild

public void addChild(ActivityRecord child)
Description copied from interface: ActivityRecord
add child to this parent's children, and set child's parent to this
Overrides:
addChild in class ActivityRecordBase
Tags copied from interface: ActivityRecord
See Also:
ActivityRecord.addThreadedChild(edu.mit.ai.psg.traveler.ActivityRecord)

addSynchronizationChild

public void addSynchronizationChild(SynchronizationRecord childRecord)
Description copied from interface: SynchronizationRecord
add record of nested/recursive call for synchronization e.g., a nested synchronized block or wait. Calls childRecord.SynchronizationRecord.setSynchronizationParent(edu.mit.ai.psg.traveler.SynchronizationRecord)(this)
Overrides:
addSynchronizationChild in class SynchronizationRecordDefault

setSynchronizationParent

public void setSynchronizationParent(SynchronizationRecord parentRecord)
Description copied from interface: SynchronizationRecord
called by SynchronizationRecord.addSynchronizationChild(edu.mit.ai.psg.traveler.SynchronizationRecord)
Overrides:
setSynchronizationParent in class SynchronizationRecordDefault

addChangeObserver

public void addChangeObserver(ChangeObserver observer)
arrange to be notified as follows:
Specified by:
addChangeObserver in interface ObservableRecord

removeChangeObserver

public void removeChangeObserver(ChangeObserver observer)
Specified by:
removeChangeObserver in interface ObservableRecord

Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-feedback@ai.mit.edu