Google

: Class SaxonEventMulticaster

com.icl.saxon.trace
Class SaxonEventMulticaster


java.lang.Object

  |

  +--com.icl.saxon.trace.SaxonEventMulticaster

All Implemented Interfaces:
java.util.EventListener, TraceListener

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


Field Summary
protected  java.util.EventListener a
           
protected  java.util.EventListener b
           
 
Constructor Summary
protected SaxonEventMulticaster(java.util.EventListener a, java.util.EventListener b)
          Creates an event multicaster instance which chains listener-a with listener-b.
 
Method Summary
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 end
 void enter(NodeInfo element, Context context)
          Called when an element of the stylesheet gets processed
 void enterSource(NodeHandler handler, Context context)
          Called when a node of the source tree gets processed
 void leave(NodeInfo element, Context context)
          Called after an element of the stylesheet got processed
 void leaveSource(NodeHandler handler, Context context)
          Called after a node of the source tree got processed
 void open()
          Called at start
protected  java.util.EventListener remove(java.util.EventListener oldl)
          Removes a listener from this multicaster and returns the resulting multicast listener.
static TraceListener remove(TraceListener l, TraceListener oldl)
          Removes the old trace-listener from trace-listener-l 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

a


protected final java.util.EventListener a

b


protected final java.util.EventListener b
Constructor Detail

SaxonEventMulticaster


protected SaxonEventMulticaster(java.util.EventListener a,
                                java.util.EventListener b)
Creates an event multicaster instance which chains listener-a with listener-b.
Parameters:
a - listener-a
b - listener-b
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 interface TraceListener

close


public void close()
Called at end
Specified by:
close in interface TraceListener

toplevel


public void toplevel(NodeInfo element)
Called for all top level elements
Specified by:
toplevel in interface TraceListener

enterSource


public void enterSource(NodeHandler handler,
                        Context context)
Called when a node of the source tree gets processed
Specified by:
enterSource in interface TraceListener

leaveSource


public void leaveSource(NodeHandler handler,
                        Context context)
Called after a node of the source tree got processed
Specified by:
leaveSource in interface TraceListener

enter


public void enter(NodeInfo element,
                  Context context)
Called when an element of the stylesheet gets processed
Specified by:
enter in interface TraceListener

leave


public void leave(NodeInfo element,
                  Context context)
Called after an element of the stylesheet got processed
Specified by:
leave in interface TraceListener

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-a
b - 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-l
oldl - 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-a
b - 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 from
oldl - the listener being removed