|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectsofya.ed.semantic.EventFilter
sofya.ed.semantic.EventSelectionFilter
sofya.ed.semantic.ObjectFilter
public class ObjectFilter
Observable event filter which directs events to separate listeners for each object in the monitored system. Events which are not specific to individual object instances are discarded.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface sofya.ed.semantic.EventListener |
|---|
EventListener.Arguments, EventListener.CallData, EventListener.ExceptionData, EventListener.FieldData, EventListener.MethodData, EventListener.MonitorData, EventListener.NewAllocationData, EventListener.ObjectData, EventListener.ThreadData, EventListener.ThreadStatus |
| Field Summary |
|---|
| Fields inherited from class sofya.ed.semantic.EventFilter |
|---|
listenerCount, listeners |
| Constructor Summary | |
|---|---|
|
ObjectFilter(ChainedEventListenerFactory celf)
Creates a new object instance filter. |
protected |
ObjectFilter(ChainedEventListenerFactory celf,
ChainedEventListener parent,
long streamId,
java.lang.String streamName)
Creates a new object instance filter attached to an existing filter chain. |
| Method Summary | |
|---|---|
void |
constructorEnterEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MethodData md)
Notification that a constructor was entered. |
void |
constructorExitEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MethodData md)
Notification that a constructor was exited. |
java.lang.Exception |
getError()
Gets the exception that put the filter in an error state. |
static ChainedEventListenerFactory |
getFactory(ChainedEventListenerFactory celf)
Gets a factory for producing instances of this class on demand. |
ChainedEventListener |
getParent()
Gets the parent of this listener in the listener chain. |
long |
getStreamID()
Gets the unique identifier associated with this event stream. |
java.lang.String |
getStreamName()
Gets an informational name associated with this event stream. |
java.util.Map |
getTraceErrors()
Returns any exceptions that were raised by listeners associated with individual objects. |
boolean |
inError()
Reports whether the filter is in an error state. |
void |
instanceFieldAccessEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.FieldData fd)
Notification that an instance field was read. |
void |
instanceFieldWriteEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.FieldData fd)
Notification that an instance field was written. |
void |
monitorAcquireEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MonitorData md)
Notification that a thread has acquired a monitor. |
void |
monitorContendEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MonitorData md)
Notification that a thread is contending for a monitor. |
void |
monitorPreReleaseEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MonitorData md)
Notification that a thread is about to release a monitor. |
void |
monitorReleaseEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MonitorData md)
Notification that a thread has released a monitor. |
void |
rethrowError()
Rethrows the originating exception if this filter is in an error state; does nothing if in a normal state. |
void |
systemExited()
Notification that the system has terminated. |
void |
virtualMethodEnterEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MethodData md)
Notification that a virtual method was entered. |
void |
virtualMethodExitEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MethodData md)
Notification that a virtual method was exited. |
| Methods inherited from class sofya.ed.semantic.EventFilter |
|---|
addEventListener, ensureCapacity, removeEventListener |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface sofya.ed.semantic.EventListener |
|---|
callReturnEvent, classPrepareEvent, constructorCallEvent, exceptionCatchEvent, exceptionThrowEvent, executionStarted, interfaceCallEvent, newAllocationEvent, staticCallEvent, staticFieldAccessEvent, staticFieldWriteEvent, staticInitializerEnterEvent, staticMethodEnterEvent, staticMethodExitEvent, systemStarted, threadDeathEvent, threadStartEvent, virtualCallEvent |
| Constructor Detail |
|---|
public ObjectFilter(ChainedEventListenerFactory celf)
celf - Listener factory used to create the listeners associated
with observed objects.
protected ObjectFilter(ChainedEventListenerFactory celf,
ChainedEventListener parent,
long streamId,
java.lang.String streamName)
celf - Listener factory used to create the listeners associated
with observed objects.parent - Event listener from which this object filter will
receive events.streamId - Identifier assigned to this event stream by the
factory creating this filter.streamName - Informational name assigned to this event stream
by the factory creating this filter.| Method Detail |
|---|
public static ChainedEventListenerFactory getFactory(ChainedEventListenerFactory celf)
celf - Factory which the produced filters will use to generate
listeners for their own filter streams.
public ChainedEventListener getParent()
ChainedEventListener
getParent in interface ChainedEventListenerpublic long getStreamID()
ChainedEventListener
getStreamID in interface ChainedEventListenerpublic java.lang.String getStreamName()
ChainedEventListener
getStreamName in interface ChainedEventListenerpublic boolean inError()
Note that errors raised while attempting to write to
individual filter streams for each object will be stored for each
such object if the listener associated with that object
implements the ErrorRecorder interface. Those errors
can be retrieved via getTraceErrors(). This method
only reports whether the filter failed to instantiate a
listener for a given object.
inError in interface ErrorRecordertrue if an error has occurred while trying
to create a listener.
public void rethrowError()
throws java.lang.Exception
rethrowError in interface ErrorRecorderjava.lang.Exception - If an error has been raised while trying to
create a listener for an object event stream.public java.lang.Exception getError()
getError in interface ErrorRecorderpublic java.util.Map getTraceErrors()
ErrorRecorder
interface. Thus under ideal circumstances, if all attached listeners
support error recording, the size of the returned map should be zero.
public void monitorContendEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MonitorData md)
EventListener
monitorContendEvent in interface EventListenermonitorContendEvent in class EventSelectionFiltertd - Information about the thread which is contending for a monitor.od - Information about the object which owns the monitor.md - Information about the location of the monitor contention.
public void monitorAcquireEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MonitorData md)
EventListener
monitorAcquireEvent in interface EventListenermonitorAcquireEvent in class EventSelectionFiltertd - Information about the thread which acquired a monitor.od - Information about the object which owns the monitor.md - Information about the location of the monitor acquisition.
public void monitorPreReleaseEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MonitorData md)
EventListener
monitorPreReleaseEvent in interface EventListenermonitorPreReleaseEvent in class EventSelectionFiltertd - Information about the thread which is about to release a
monitor.od - Information about the object which owns the monitor.md - Information about the location of the monitor about to
be released event..
public void monitorReleaseEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MonitorData md)
EventListener
monitorReleaseEvent in interface EventListenermonitorReleaseEvent in class EventSelectionFiltertd - Information about the thread which released a monitor.od - Information about the object which owns the monitor.md - Information about the location of the monitor release.
public void constructorEnterEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MethodData md)
EventListenerThis is the first point during the object creation process at which the object can be uniquely identified.
constructorEnterEvent in interface EventListenerconstructorEnterEvent in class EventSelectionFiltertd - Information about the thread executing the constructor.od - Information about the object under construction.
At the time of this event, only the object ID will be
valid.md - Information about the entered constructor.
public void constructorExitEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MethodData md)
EventListenerNOTE: This event is raised only if the constructor completes normally. If a constructor throws an escaping exception, the object is not successfully created and thus further events related to the object are not possible.
constructorExitEvent in interface EventListenerconstructorExitEvent in class EventSelectionFiltertd - Information about the thread executing the constructor.od - Information about the object under construction.
At the time of this event, only the object ID will be
valid.md - Information about the exited constructor.
public void instanceFieldAccessEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.FieldData fd)
EventListener
instanceFieldAccessEvent in interface EventListenerinstanceFieldAccessEvent in class EventSelectionFiltertd - Information about the thread in which the field access
occurred.od - Information about the object which owns the accessed field.fd - Information about the accessed field.
public void instanceFieldWriteEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.FieldData fd)
EventListener
instanceFieldWriteEvent in interface EventListenerinstanceFieldWriteEvent in class EventSelectionFiltertd - Information about the thread in which the field write
occurred.od - Information about the object which owns the written field.fd - Information about the written field.
public void virtualMethodEnterEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MethodData md)
EventListener
virtualMethodEnterEvent in interface EventListenervirtualMethodEnterEvent in class EventSelectionFiltertd - Information about the thread executing the method.od - Information about the object on which the virtual
method was called.md - Information about the entered method.
public void virtualMethodExitEvent(EventListener.ThreadData td,
EventListener.ObjectData od,
EventListener.MethodData md)
EventListener
virtualMethodExitEvent in interface EventListenervirtualMethodExitEvent in class EventSelectionFiltertd - Information about the thread executing the method.od - Information about the object on which the virtual
method was called.md - Information about the exited method.public void systemExited()
EventListener
systemExited in interface EventListenersystemExited in class EventSelectionFilter
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||