Interface TraceEvent<T,U>

Type Parameters:
T - the type of the object changed
U - the type of the value
All Superinterfaces:
EventType
All Known Implementing Classes:
TraceEvent.TraceBookmarkEvent, TraceEvent.TraceBookmarkLifespanEvent, TraceEvent.TraceBookmarkTypeEvent, TraceEvent.TraceBreakpointEvent, TraceEvent.TraceBreakpointLifespanEvent, TraceEvent.TraceBytesEvent, TraceEvent.TraceCodeDataSettingsEvent, TraceEvent.TraceCodeDataTypeEvent, TraceEvent.TraceCodeEvent, TraceEvent.TraceCodeFragmentEvent, TraceEvent.TraceCodeLifespanEvent, TraceEvent.TraceCommentEvent, TraceEvent.TraceCompositeDataEvent, TraceEvent.TraceCompositeDataLifespanEvent, TraceEvent.TraceDataTypeEvent, TraceEvent.TraceDataTypePathEvent, TraceEvent.TraceDataTypeStringEvent, TraceEvent.TraceInstructionBoolEvent, TraceEvent.TraceInstructionFlowEvent, TraceEvent.TraceInstructionIntEvent, TraceEvent.TraceMappingEvent, TraceEvent.TraceMemoryRegionEvent, TraceEvent.TraceMemoryRegionLifespanEvent, TraceEvent.TraceMemoryStateEvent, TraceEvent.TraceModuleEvent, TraceEvent.TraceModuleLifespanEvent, TraceEvent.TraceObjectEvent, TraceEvent.TraceObjectValueEvent, TraceEvent.TraceObjectValueLifespanEvent, TraceEvent.TraceOverlaySpaceEvent, TraceEvent.TracePlatformEvent, TraceEvent.TracePlatformMappingEvent, TraceEvent.TraceReferenceBoolEvent, TraceEvent.TraceReferenceEvent, TraceEvent.TraceReferenceLifespanEvent, TraceEvent.TraceSectionEvent, TraceEvent.TraceSnapshotEvent, TraceEvent.TraceStackEvent, TraceEvent.TraceStackLongEvent, TraceEvent.TraceSymbolAddressEvent, TraceEvent.TraceSymbolEvent, TraceEvent.TraceSymbolLifespanEvent, TraceEvent.TraceSymbolNamespaceEvent, TraceEvent.TraceSymbolRefEvent, TraceEvent.TraceSymbolSourceEvent, TraceEvent.TraceSymbolStringEvent, TraceEvent.TraceSymbolSymEvent, TraceEvent.TraceThreadEvent, TraceEvent.TraceThreadLifespanEvent, TraceEvent.TraceTypeArchiveEvent, TraceEvent.TraceTypeCategoryEvent, TraceEvent.TraceTypeCategoryPathEvent, TraceEvent.TraceTypeCategoryStringEvent

public interface TraceEvent<T,U> extends EventType
A sub-type for event specific to traces.

For the various defined events, see TraceEvents.

This interface introduces two type parameters, which are provided by each trace event enum. They describe the type of the effected object, e.g., a thread, as well as the type of the changed value, e.g., its lifespan. These are can be enforced by using TraceChangeRecord. Its constructors will ensure that the affected object and values actually match the types for the given trace event. Conversely, by using TraceDomainObjectListener and registering handlers for each event type, it will ensure each handler method accepts arguments of the correct types. See, e.g., TypedEventDispatcher.listenFor(TraceEvent, FullEventRecordHandler).

  • Method Details