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 protected
SaxonEventMulticaster(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 TraceListener
add(TraceListener a, TraceListener b)
Adds trace-listener-a with trace-listener-b and returns the resulting multicast listener.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.void
close()
Called at endvoid
enter(NodeInfo element, Context context)
Called when an element of the stylesheet gets processedvoid
enterSource(NodeHandler handler, Context context)
Called when a node of the source tree gets processedvoid
leave(NodeInfo element, Context context)
Called after an element of the stylesheet got processedvoid
leaveSource(NodeHandler handler, Context context)
Called after a node of the source tree got processedvoid
open()
Called at startstatic TraceListener
remove(TraceListener l, TraceListener oldl)
Removes the old trace-listener from trace-listener-l and returns the resulting multicast listener.protected java.util.EventListener
remove(java.util.EventListener oldl)
Removes a listener from this multicaster and returns the resulting multicast listener.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.void
toplevel(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:
open
in interfaceTraceListener
-
close
public void close()
Called at end- Specified by:
close
in interfaceTraceListener
-
toplevel
public void toplevel(NodeInfo element)
Called for all top level elements- Specified by:
toplevel
in interfaceTraceListener
-
enterSource
public void enterSource(NodeHandler handler, Context context)
Called when a node of the source tree gets processed- Specified by:
enterSource
in interfaceTraceListener
-
leaveSource
public void leaveSource(NodeHandler handler, Context context)
Called after a node of the source tree got processed- Specified by:
leaveSource
in interfaceTraceListener
-
enter
public void enter(NodeInfo element, Context context)
Called when an element of the stylesheet gets processed- Specified by:
enter
in interfaceTraceListener
-
leave
public void leave(NodeInfo element, Context context)
Called after an element of the stylesheet got processed- Specified by:
leave
in 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
-
-