public class Event
extends java.lang.Object
implements java.lang.Cloneable
Modifier and Type | Field and Description |
---|---|
protected Event |
alt |
protected java.lang.Object[] |
arguments |
protected java.lang.String |
name |
protected Event |
next |
protected Event |
prev |
protected java.lang.Object |
source |
Constructor and Description |
---|
Event(java.lang.String name) |
Event(java.lang.String name,
java.lang.Object source) |
Event(java.lang.String name,
java.lang.Object[] arguments) |
Event(java.lang.String name,
java.lang.Object[] arguments,
java.lang.Object source) |
Modifier and Type | Method and Description |
---|---|
Event |
addAlternative(Event e) |
Event |
addNext(Event e) |
void |
addPath(int pathLength,
Event... path)
extend this tree with a new path
|
Event |
clone() |
protected void |
collectEndEvents(java.util.List<Event> list,
boolean includeNoEvents) |
protected void |
collectTrace(java.lang.StringBuilder sb,
java.lang.String separator,
boolean isLast) |
protected static Event |
createClonedSequence(int firstIdx,
int len,
Event[] events) |
Event |
deepClone() |
Event |
endEvent() |
java.util.List<Event> |
endEvents() |
boolean |
equals(java.lang.Object o) |
Event |
getAlt() |
java.util.List<Event> |
getAlternatives() |
java.lang.Object |
getArgument(int idx) |
java.lang.Object[] |
getArguments() |
Event |
getLastAlt() |
int |
getMaxDepth()
maximum downwards tree depth
|
java.lang.String |
getName() |
Event |
getNext() |
int |
getNumberOfAlternatives() |
Event[] |
getPath() |
int |
getPathLength()
upwards path length
|
java.lang.String |
getPathString(java.lang.String separator) |
Event |
getPrev() |
java.lang.Object |
getSource() |
boolean |
hasAlternatives() |
int |
hashCode() |
Event |
interleave(Event... otherEvents)
this creates a new tree that contains all paths resulting from
all interleavings of all paths of this tree with the specified other events
BEWARE: this is a combinatorial bomb that should only be used if we know all
paths are short
|
boolean |
isEndOfTrace(java.lang.String[] eventNames) |
boolean |
isNoEvent() |
boolean |
isSystemEvent() |
void |
printPath(java.io.PrintStream ps) |
void |
printTree(java.io.PrintStream ps,
int level) |
void |
process(java.lang.Object source) |
Event |
removeSource(java.lang.Object src)
remove all events from this tree that are from the specified source
|
Event |
replaceWith(Event e) |
Event |
replaceWithAlternativesFrom(java.util.List<Event> list) |
Event |
replaceWithSequenceFrom(java.util.List<Event> list) |
protected void |
setAlt(Event e) |
void |
setLinksFrom(Event other) |
protected void |
setNext(Event e) |
protected void |
setPrev(Event e) |
void |
setProcessed() |
protected void |
setSource(java.lang.Object source) |
java.lang.String |
toString() |
Event |
unlinkedClone() |
java.util.List<Event> |
visibleEndEvents() |
protected Event next
protected Event prev
protected Event alt
protected java.lang.String name
protected java.lang.Object[] arguments
protected java.lang.Object source
public Event(java.lang.String name)
public Event(java.lang.String name, java.lang.Object source)
public Event(java.lang.String name, java.lang.Object[] arguments)
public Event(java.lang.String name, java.lang.Object[] arguments, java.lang.Object source)
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
protected void setNext(Event e)
protected void setPrev(Event e)
protected void setAlt(Event e)
public void setLinksFrom(Event other)
protected void setSource(java.lang.Object source)
public int getNumberOfAlternatives()
public boolean hasAlternatives()
public java.util.List<Event> getAlternatives()
public Event unlinkedClone()
public Event clone()
clone
in class java.lang.Object
public Event deepClone()
public java.lang.String getName()
public java.lang.Object[] getArguments()
public java.lang.Object getArgument(int idx)
public Event getNext()
public Event getAlt()
public Event getPrev()
public java.lang.Object getSource()
protected static Event createClonedSequence(int firstIdx, int len, Event[] events)
public void addPath(int pathLength, Event... path)
public Event getLastAlt()
protected void collectEndEvents(java.util.List<Event> list, boolean includeNoEvents)
public Event endEvent()
public java.util.List<Event> visibleEndEvents()
public java.util.List<Event> endEvents()
public Event interleave(Event... otherEvents)
public Event removeSource(java.lang.Object src)
public void printPath(java.io.PrintStream ps)
public java.lang.String toString()
toString
in class java.lang.Object
public int getPathLength()
public int getMaxDepth()
public Event[] getPath()
public void printTree(java.io.PrintStream ps, int level)
public boolean isEndOfTrace(java.lang.String[] eventNames)
protected void collectTrace(java.lang.StringBuilder sb, java.lang.String separator, boolean isLast)
public java.lang.String getPathString(java.lang.String separator)
public boolean isNoEvent()
public boolean isSystemEvent()
public void process(java.lang.Object source)
public void setProcessed()