Package com.icl.saxon.trace
Class SaxonEventMulticaster
- java.lang.Object
-
- com.icl.saxon.trace.SaxonEventMulticaster
-
- All Implemented Interfaces:
TraceListener,java.util.EventListener
public class SaxonEventMulticaster extends java.lang.Object implements TraceListener
A class which implements efficient and thread-safe multi-cast event dispatching for the TraceListener evants. Grabbed from java.awt.AWTEventMulticaster
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedSaxonEventMulticaster(java.util.EventListener a, java.util.EventListener b)Creates an event multicaster instance which chains listener-a with listener-b.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static TraceListeneradd(TraceListener a, TraceListener b)Adds trace-listener-a with trace-listener-b and returns the resulting multicast listener.protected static java.util.EventListeneraddInternal(java.util.EventListener a, java.util.EventListener b)Returns the resulting multicast listener from adding listener-a and listener-b together.voidclose()Called at endvoidenter(NodeInfo element, Context context)Called when an element of the stylesheet gets processedvoidenterSource(NodeHandler handler, Context context)Called when a node of the source tree gets processedvoidleave(NodeInfo element, Context context)Called after an element of the stylesheet got processedvoidleaveSource(NodeHandler handler, Context context)Called after a node of the source tree got processedvoidopen()Called at startstatic TraceListenerremove(TraceListener l, TraceListener oldl)Removes the old trace-listener from trace-listener-l and returns the resulting multicast listener.protected java.util.EventListenerremove(java.util.EventListener oldl)Removes a listener from this multicaster and returns the resulting multicast listener.protected static java.util.EventListenerremoveInternal(java.util.EventListener l, java.util.EventListener oldl)Returns the resulting multicast listener after removing the old listener from listener-l.voidtoplevel(NodeInfo element)Called for all top level elements
-
-
-
Method Detail
-
remove
protected java.util.EventListener remove(java.util.EventListener oldl)
Removes a listener from this multicaster and returns the resulting multicast listener.- Parameters:
oldl- the listener to be removed
-
open
public void open()
Called at start- Specified by:
openin interfaceTraceListener
-
close
public void close()
Called at end- Specified by:
closein interfaceTraceListener
-
toplevel
public void toplevel(NodeInfo element)
Called for all top level elements- Specified by:
toplevelin interfaceTraceListener
-
enterSource
public void enterSource(NodeHandler handler, Context context)
Called when a node of the source tree gets processed- Specified by:
enterSourcein interfaceTraceListener
-
leaveSource
public void leaveSource(NodeHandler handler, Context context)
Called after a node of the source tree got processed- Specified by:
leaveSourcein interfaceTraceListener
-
enter
public void enter(NodeInfo element, Context context)
Called when an element of the stylesheet gets processed- Specified by:
enterin interfaceTraceListener
-
leave
public void leave(NodeInfo element, Context context)
Called after an element of the stylesheet got processed- Specified by:
leavein interfaceTraceListener
-
add
public static TraceListener add(TraceListener a, TraceListener b)
Adds trace-listener-a with trace-listener-b and returns the resulting multicast listener.- Parameters:
a- trace-listener-ab- trace-listener-b
-
remove
public static TraceListener remove(TraceListener l, TraceListener oldl)
Removes the old trace-listener from trace-listener-l and returns the resulting multicast listener.- Parameters:
l- trace-listener-loldl- the trace-listener being removed
-
addInternal
protected static java.util.EventListener addInternal(java.util.EventListener a, java.util.EventListener b)Returns the resulting multicast listener from adding listener-a and listener-b together. If listener-a is null, it returns listener-b; If listener-b is null, it returns listener-a If neither are null, then it creates and returns a new EventMulticaster instance which chains a with b.- Parameters:
a- event listener-ab- event listener-b
-
removeInternal
protected static java.util.EventListener removeInternal(java.util.EventListener l, java.util.EventListener oldl)Returns the resulting multicast listener after removing the old listener from listener-l. If listener-l equals the old listener OR listener-l is null, returns null. Else if listener-l is an instance of SaxonEventMulticaster, then it removes the old listener from it. Else, returns listener l.- Parameters:
l- the listener being removed fromoldl- the listener being removed
-
-