Class SaxonEventMulticaster

  • All Implemented Interfaces:
    TraceListener, EventListener

    public class SaxonEventMulticaster
    extends 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 Detail

      • SaxonEventMulticaster

        protected SaxonEventMulticaster​(EventListener a,
                                        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 EventListener remove​(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
      • 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 EventListener addInternal​(EventListener a,
                                                   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 EventListener removeInternal​(EventListener l,
                                                      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