// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: packimports(3) fieldsfirst lnc // Source File Name: SaxonEventMulticaster.java package com.icl.saxon.trace; import com.icl.saxon.Context; import com.icl.saxon.NodeHandler; import com.icl.saxon.om.NodeInfo; import java.util.EventListener; // Referenced classes of package com.icl.saxon.trace: // TraceListener public class SaxonEventMulticaster implements TraceListener { protected final EventListener a; protected final EventListener b; protected SaxonEventMulticaster(EventListener eventlistener, EventListener eventlistener1) { /* 25*/ a = eventlistener; /* 25*/ b = eventlistener1; } protected EventListener remove(EventListener eventlistener) { /* 34*/ if(eventlistener == a) /* 34*/ return b; /* 35*/ if(eventlistener == b) /* 35*/ return a; /* 36*/ EventListener eventlistener1 = removeInternal(a, eventlistener); /* 37*/ EventListener eventlistener2 = removeInternal(b, eventlistener); /* 38*/ if(eventlistener1 == a && eventlistener2 == b) /* 39*/ return this; /* 41*/ else /* 41*/ return addInternal(eventlistener1, eventlistener2); } public void open() { /* 49*/ ((TraceListener)a).open(); /* 50*/ ((TraceListener)b).open(); } public void close() { /* 58*/ ((TraceListener)a).close(); /* 59*/ ((TraceListener)b).close(); } public void toplevel(NodeInfo nodeinfo) { /* 68*/ ((TraceListener)a).toplevel(nodeinfo); /* 69*/ ((TraceListener)b).toplevel(nodeinfo); } public void enterSource(NodeHandler nodehandler, Context context) { /* 77*/ ((TraceListener)a).enterSource(nodehandler, context); /* 78*/ ((TraceListener)b).enterSource(nodehandler, context); } public void leaveSource(NodeHandler nodehandler, Context context) { /* 86*/ ((TraceListener)a).leaveSource(nodehandler, context); /* 87*/ ((TraceListener)b).leaveSource(nodehandler, context); } public void enter(NodeInfo nodeinfo, Context context) { /* 95*/ ((TraceListener)a).enter(nodeinfo, context); /* 96*/ ((TraceListener)b).enter(nodeinfo, context); } public void leave(NodeInfo nodeinfo, Context context) { /* 104*/ ((TraceListener)a).leave(nodeinfo, context); /* 105*/ ((TraceListener)b).leave(nodeinfo, context); } public static TraceListener add(TraceListener tracelistener, TraceListener tracelistener1) { /* 115*/ return (TraceListener)addInternal(tracelistener, tracelistener1); } public static TraceListener remove(TraceListener tracelistener, TraceListener tracelistener1) { /* 125*/ return (TraceListener)removeInternal(tracelistener, tracelistener1); } protected static EventListener addInternal(EventListener eventlistener, EventListener eventlistener1) { /* 139*/ if(eventlistener == null) /* 139*/ return eventlistener1; /* 140*/ if(eventlistener1 == null) /* 140*/ return eventlistener; /* 141*/ else /* 141*/ return new SaxonEventMulticaster(eventlistener, eventlistener1); } protected static EventListener removeInternal(EventListener eventlistener, EventListener eventlistener1) { /* 156*/ if(eventlistener == eventlistener1 || eventlistener == null) /* 157*/ return null; /* 158*/ if(eventlistener instanceof SaxonEventMulticaster) /* 159*/ return ((SaxonEventMulticaster)eventlistener).remove(eventlistener1); /* 161*/ else /* 161*/ return eventlistener; } }