|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--edu.mit.ai.psg.traveler.ActivityRecordMethods
| Inner Class Summary | |
static class |
ActivityRecordMethods.BiographyIterator
Iterator returned by inBiographyIterator(boolean, boolean, boolean, boolean, boolean, edu.mit.ai.psg.traveler.SynchronizationRecord, java.util.List) |
static interface |
ActivityRecordMethods.Iterator
|
static class |
ActivityRecordMethods.IteratorBase
Abstract base class for ActivityRecord iterators; derived classes add method to computeNext() |
static class |
ActivityRecordMethods.SuperactivityIterator
Iterator returned by superactivityIterator(boolean, edu.mit.ai.psg.traveler.ActivityRecord, edu.mit.ai.psg.utilities.IUnaryPredicate) |
static class |
ActivityRecordMethods.ThreadIterator
Iterator returned by inThreadIterator(boolean, boolean, boolean, boolean, edu.mit.ai.psg.traveler.ActivityRecord, edu.mit.ai.psg.utilities.IUnaryPredicate, edu.mit.ai.psg.utilities.IUnaryPredicate) |
| Constructor Summary | |
ActivityRecordMethods()
|
|
| Method Summary | |
static ActivityRecordMethods.Iterator |
inBiographyIterator(boolean iterateForward,
boolean iterateAcquisitions,
boolean iterateReleases,
boolean includeNested,
boolean startAtEntrance,
SynchronizationRecord startRecord,
List biography)
inBiographyIterator traverses acquisitions and releases of synchronization in a biography. |
static ActivityRecordMethods.Iterator |
inBiographyIterator(boolean iterateForward,
boolean iterateAcquisitions,
boolean iterateReleases,
boolean includeNested,
SynchronizationRecord.Entry entryRecord,
List biography)
inBiographyIterator traverses acquisitions and releases of synchronization in a biography. |
static ActivityRecordMethods.Iterator |
inBiographyIterator(boolean iterateForward,
boolean iterateAcquisitions,
boolean iterateReleases,
boolean includeNested,
SynchronizationRecord.Exit exitRecord,
List biography)
inBiographyIterator traverses acquisitions and releases of synchronization in a biography. |
static ActivityRecordMethods.Iterator |
inThreadIterator(boolean iterateForward,
boolean iterateEntrances,
boolean iterateExits,
boolean startAtEntrance,
ActivityRecord startRecord,
IUnaryPredicate traverseInsidePredicate,
IUnaryPredicate traverseOutsidePredicate)
inThreadIterator does depth first walk of activity in thread forward from start record, continuing with siblings of activity when nexted activities run out. |
static void |
main(String[] ignore)
|
static ActivityRecordMethods.Iterator |
superactivityIterator(boolean startWithStartRecord,
ActivityRecord startRecord,
IUnaryPredicate traverseOutsidePredicate)
traverses up parent activity links starting from startRecord |
static int |
test(String expected,
ActivityRecordMethods.Iterator iter)
|
static int |
testInBiographyIterator()
|
static int |
testInThreadIterator()
|
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
| Constructor Detail |
public ActivityRecordMethods()
| Method Detail |
public static ActivityRecordMethods.Iterator inThreadIterator(boolean iterateForward,
boolean iterateEntrances,
boolean iterateExits,
boolean startAtEntrance,
ActivityRecord startRecord,
IUnaryPredicate traverseInsidePredicate,
IUnaryPredicate traverseOutsidePredicate)
To iterate over all activities in thread starting at startRecord until end of thread, returning activities as they are entered, use:
. Iterator iter = . ActivityRecordMethods.forwardInThreadIterator . (true, // iterateForward . true, // iterateEntrances . false,// iterateExits . true, // startAtEntrance of startRecord . startRecord, . UnaryTrue.instance, // traverse all subactivities in thread . UnaryTrue.instance); // traverse all superactivities in threadTo iterate over activities until end of startRecord, returning activities both as they are entered or exited, use:
. Iterator iter =
. ActivityRecordMethods.forwardInThreadIterator
. (true, // iterateForward
. true, // iterateEntrances
. true, // iterateExits
. true, // startAtEntrace of startRecord
. startRecord,
. UnaryTrue.instance, // traverse all subactivities of thread
. new IUnaryPredicate() { //don't traverse to parent of startRecord
. boolean execute(Object obj) {
. return obj != startRecord; }});
iterateForward - if true, iterate children forward in time,iterateEntrances - if true, return activity when iterator
encounters thread's entrance to activity.iterateExits - if true, return activity when iterator
encounters thread's exit from activity.startAtEntrance - if true, iterator starts at entrance of
startRecord; otherwise starts at exit. startRecord - the activity record at which to start.traverseInsidePredicate - can be used to stop iterator
from going deeper inside (e.g., no methods calls to other objects).UnaryTrue.instancetraverseOutsidePredicate - can be used to stop iterator from
going higher up call tree after insides run out (e.g., not past
method call from other objects). UnaryTrue.instanceActivityRecord,
IUnaryPredicate,
UnaryTrue
public static ActivityRecordMethods.Iterator inBiographyIterator(boolean iterateForward,
boolean iterateAcquisitions,
boolean iterateReleases,
boolean includeNested,
boolean startAtEntrance,
SynchronizationRecord startRecord,
List biography)
iterateForward - if true, iterate biography forward in time
if false, iterate backward in time.
Typical value: false.iterateAcquisitions - if true, iterator returns activity records
of thread acquiring access, perhaps recursively if
includeNested is true).iterateReleases - if true, iterator returns activity records
of thread is releasing access, perhaps recursively if
includeNested is true).includeNested - if true, iteration includes recursive acquisitions
and releases by thread; if false, only includes outermost acquisition
and release, and if startRecord is for a recursive synchronization,
starts from outermost synchronization containing startRecord.
Typical value: false.startAtEntrance - if true, iterator starts with
startRecord.getSynchronizationEntry(), else starts with
startRecord.getSynchronizationExit().startRecord - record at which to start; see
includeNestedbiography - biography to iterate over, in which
startRecord.getSynchronizationEntry() appears.
public static ActivityRecordMethods.Iterator inBiographyIterator(boolean iterateForward,
boolean iterateAcquisitions,
boolean iterateReleases,
boolean includeNested,
SynchronizationRecord.Entry entryRecord,
List biography)
inBiographyIterator(boolean,boolean,boolean,boolean,boolean,SynchronizationRecord,List)
public static ActivityRecordMethods.Iterator inBiographyIterator(boolean iterateForward,
boolean iterateAcquisitions,
boolean iterateReleases,
boolean includeNested,
SynchronizationRecord.Exit exitRecord,
List biography)
inBiographyIterator(boolean,boolean,boolean,boolean,boolean,SynchronizationRecord,List)
public static ActivityRecordMethods.Iterator superactivityIterator(boolean startWithStartRecord,
ActivityRecord startRecord,
IUnaryPredicate traverseOutsidePredicate)
public static void main(String[] ignore)
public static int testInThreadIterator()
public static int testInBiographyIterator()
public static int test(String expected,
ActivityRecordMethods.Iterator iter)
|
Copyright (c) 1996-1999 Massachusetts Institute of Technology Feedback: jeva-feedback@ai.mit.edu |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||