public class org.apache.fop.events.DefaultEventBroadcaster implements org.apache.fop.events.EventBroadcaster
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.fop.events.DefaultEventBroadcaster
  super_class: java.lang.Object
{
  protected org.apache.fop.events.CompositeEventListener listeners;
    descriptor: Lorg/apache/fop/events/CompositeEventListener;
    flags: (0x0004) ACC_PROTECTED

  private static java.util.List<org.apache.fop.events.model.EventModel> eventModels;
    descriptor: Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/List<Lorg/apache/fop/events/model/EventModel;>;

  private java.util.Map proxies;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 70
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putstatic org.apache.fop.events.DefaultEventBroadcaster.eventModels:Ljava/util/List;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.fop.events.DefaultEventBroadcaster this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 48
            aload 0 /* this */
            new org.apache.fop.events.CompositeEventListener
            dup
            invokespecial org.apache.fop.events.CompositeEventListener.<init>:()V
            putfield org.apache.fop.events.DefaultEventBroadcaster.listeners:Lorg/apache/fop/events/CompositeEventListener;
         2: .line 71
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.fop.events.DefaultEventBroadcaster.proxies:Ljava/util/Map;
         3: .line 45
            return
        end local 0 // org.apache.fop.events.DefaultEventBroadcaster this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/fop/events/DefaultEventBroadcaster;

  public void addEventListener(org.apache.fop.events.EventListener);
    descriptor: (Lorg/apache/fop/events/EventListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.fop.events.DefaultEventBroadcaster this
        start local 1 // org.apache.fop.events.EventListener listener
         0: .line 52
            aload 0 /* this */
            getfield org.apache.fop.events.DefaultEventBroadcaster.listeners:Lorg/apache/fop/events/CompositeEventListener;
            aload 1 /* listener */
            invokevirtual org.apache.fop.events.CompositeEventListener.addEventListener:(Lorg/apache/fop/events/EventListener;)V
         1: .line 53
            return
        end local 1 // org.apache.fop.events.EventListener listener
        end local 0 // org.apache.fop.events.DefaultEventBroadcaster this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/fop/events/DefaultEventBroadcaster;
            0    2     1  listener  Lorg/apache/fop/events/EventListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeEventListener(org.apache.fop.events.EventListener);
    descriptor: (Lorg/apache/fop/events/EventListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.fop.events.DefaultEventBroadcaster this
        start local 1 // org.apache.fop.events.EventListener listener
         0: .line 57
            aload 0 /* this */
            getfield org.apache.fop.events.DefaultEventBroadcaster.listeners:Lorg/apache/fop/events/CompositeEventListener;
            aload 1 /* listener */
            invokevirtual org.apache.fop.events.CompositeEventListener.removeEventListener:(Lorg/apache/fop/events/EventListener;)V
         1: .line 58
            return
        end local 1 // org.apache.fop.events.EventListener listener
        end local 0 // org.apache.fop.events.DefaultEventBroadcaster this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/fop/events/DefaultEventBroadcaster;
            0    2     1  listener  Lorg/apache/fop/events/EventListener;
    MethodParameters:
          Name  Flags
      listener  

  public boolean hasEventListeners();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.fop.events.DefaultEventBroadcaster this
         0: .line 62
            aload 0 /* this */
            getfield org.apache.fop.events.DefaultEventBroadcaster.listeners:Lorg/apache/fop/events/CompositeEventListener;
            invokevirtual org.apache.fop.events.CompositeEventListener.hasEventListeners:()Z
            ireturn
        end local 0 // org.apache.fop.events.DefaultEventBroadcaster this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/fop/events/DefaultEventBroadcaster;

  public void broadcastEvent(org.apache.fop.events.Event);
    descriptor: (Lorg/apache/fop/events/Event;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.fop.events.DefaultEventBroadcaster this
        start local 1 // org.apache.fop.events.Event event
         0: .line 67
            aload 0 /* this */
            getfield org.apache.fop.events.DefaultEventBroadcaster.listeners:Lorg/apache/fop/events/CompositeEventListener;
            aload 1 /* event */
            invokevirtual org.apache.fop.events.CompositeEventListener.processEvent:(Lorg/apache/fop/events/Event;)V
         1: .line 68
            return
        end local 1 // org.apache.fop.events.Event event
        end local 0 // org.apache.fop.events.DefaultEventBroadcaster this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/fop/events/DefaultEventBroadcaster;
            0    2     1  event  Lorg/apache/fop/events/Event;
    MethodParameters:
       Name  Flags
      event  

  private static org.apache.fop.events.model.EventModel loadModel(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/apache/fop/events/model/EventModel;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.lang.Class resourceBaseClass
         0: .line 79
            ldc "event-model.xml"
            astore 1 /* resourceName */
        start local 1 // java.lang.String resourceName
         1: .line 80
            aload 0 /* resourceBaseClass */
            aload 1 /* resourceName */
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 2 /* in */
        start local 2 // java.io.InputStream in
         2: .line 81
            aload 2 /* in */
            ifnonnull 7
         3: .line 82
            new java.util.MissingResourceException
            dup
         4: .line 83
            new java.lang.StringBuilder
            dup
            ldc "File "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resourceName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 84
            ldc Lorg/apache/fop/events/DefaultEventBroadcaster;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc ""
         6: .line 82
            invokespecial java.util.MissingResourceException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            athrow
         7: .line 87
      StackMap locals: java.lang.String java.io.InputStream
      StackMap stack:
            new javax.xml.transform.stream.StreamSource
            dup
            aload 2 /* in */
            invokespecial javax.xml.transform.stream.StreamSource.<init>:(Ljava/io/InputStream;)V
            invokestatic org.apache.fop.events.model.EventModelParser.parse:(Ljavax/xml/transform/Source;)Lorg/apache/fop/events/model/EventModel;
            astore 5
         8: .line 93
            aload 2 /* in */
            invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/InputStream;)V
         9: .line 87
            aload 5
            areturn
        10: .line 88
      StackMap locals:
      StackMap stack: javax.xml.transform.TransformerException
            astore 3 /* e */
        start local 3 // javax.xml.transform.TransformerException e
        11: .line 89
            new java.util.MissingResourceException
            dup
        12: .line 90
            new java.lang.StringBuilder
            dup
            ldc "Error reading "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resourceName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* e */
            invokevirtual javax.xml.transform.TransformerException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 91
            ldc Lorg/apache/fop/events/DefaultEventBroadcaster;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc ""
        14: .line 89
            invokespecial java.util.MissingResourceException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            athrow
        end local 3 // javax.xml.transform.TransformerException e
        15: .line 92
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        16: .line 93
            aload 2 /* in */
            invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/InputStream;)V
        17: .line 94
            aload 4
            athrow
        end local 2 // java.io.InputStream in
        end local 1 // java.lang.String resourceName
        end local 0 // java.lang.Class resourceBaseClass
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   18     0  resourceBaseClass  Ljava/lang/Class;
            1   18     1       resourceName  Ljava/lang/String;
            2   18     2                 in  Ljava/io/InputStream;
           11   15     3                  e  Ljavax/xml/transform/TransformerException;
      Exception table:
        from    to  target  type
           7     8      10  Class javax.xml.transform.TransformerException
           7     8      15  any
          10    15      15  any
    MethodParameters:
                   Name  Flags
      resourceBaseClass  

  public static synchronized void addEventModel(org.apache.fop.events.model.EventModel);
    descriptor: (Lorg/apache/fop/events/model/EventModel;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.fop.events.model.EventModel eventModel
         0: .line 102
            getstatic org.apache.fop.events.DefaultEventBroadcaster.eventModels:Ljava/util/List;
            aload 0 /* eventModel */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 103
            return
        end local 0 // org.apache.fop.events.model.EventModel eventModel
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  eventModel  Lorg/apache/fop/events/model/EventModel;
    MethodParameters:
            Name  Flags
      eventModel  

  private static synchronized org.apache.fop.events.model.EventProducerModel getEventProducerModel(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/apache/fop/events/model/EventProducerModel;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 106
            getstatic org.apache.fop.events.DefaultEventBroadcaster.eventModels:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: java.lang.Class top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 1 /* eventModel1 */
        start local 1 // java.lang.Object eventModel1
         2: .line 107
            aload 1 /* eventModel1 */
            checkcast org.apache.fop.events.model.EventModel
            astore 3 /* eventModel */
        start local 3 // org.apache.fop.events.model.EventModel eventModel
         3: .line 108
            aload 3 /* eventModel */
            aload 0 /* clazz */
            invokevirtual org.apache.fop.events.model.EventModel.getProducer:(Ljava/lang/Class;)Lorg/apache/fop/events/model/EventProducerModel;
            astore 4 /* producerModel */
        start local 4 // org.apache.fop.events.model.EventProducerModel producerModel
         4: .line 109
            aload 4 /* producerModel */
            ifnull 6
         5: .line 110
            aload 4 /* producerModel */
            areturn
        end local 4 // org.apache.fop.events.model.EventProducerModel producerModel
        end local 3 // org.apache.fop.events.model.EventModel eventModel
        end local 1 // java.lang.Object eventModel1
         6: .line 106
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 113
            aload 0 /* clazz */
            invokestatic org.apache.fop.events.DefaultEventBroadcaster.loadModel:(Ljava/lang/Class;)Lorg/apache/fop/events/model/EventModel;
            astore 1 /* model */
        start local 1 // org.apache.fop.events.model.EventModel model
         8: .line 114
            aload 1 /* model */
            invokestatic org.apache.fop.events.DefaultEventBroadcaster.addEventModel:(Lorg/apache/fop/events/model/EventModel;)V
         9: .line 115
            aload 1 /* model */
            aload 0 /* clazz */
            invokevirtual org.apache.fop.events.model.EventModel.getProducer:(Ljava/lang/Class;)Lorg/apache/fop/events/model/EventProducerModel;
            areturn
        end local 1 // org.apache.fop.events.model.EventModel model
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0          clazz  Ljava/lang/Class;
            2    6     1    eventModel1  Ljava/lang/Object;
            3    6     3     eventModel  Lorg/apache/fop/events/model/EventModel;
            4    6     4  producerModel  Lorg/apache/fop/events/model/EventProducerModel;
            8   10     1          model  Lorg/apache/fop/events/model/EventModel;
    MethodParameters:
       Name  Flags
      clazz  

  public org.apache.fop.events.EventProducer getEventProducerFor(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/apache/fop/events/EventProducer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.fop.events.DefaultEventBroadcaster this
        start local 1 // java.lang.Class clazz
         0: .line 120
            ldc Lorg/apache/fop/events/EventProducer;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 6
         1: .line 121
            new java.lang.IllegalArgumentException
            dup
         2: .line 122
            new java.lang.StringBuilder
            dup
            ldc "Class must be an implementation of the EventProducer interface: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 123
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 122
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 121
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.events.DefaultEventBroadcaster.proxies:Ljava/util/Map;
            aload 1 /* clazz */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.fop.events.EventProducer
            astore 2 /* producer */
        start local 2 // org.apache.fop.events.EventProducer producer
         7: .line 127
            aload 2 /* producer */
            ifnonnull 10
         8: .line 128
            aload 0 /* this */
            aload 1 /* clazz */
            invokevirtual org.apache.fop.events.DefaultEventBroadcaster.createProxyFor:(Ljava/lang/Class;)Lorg/apache/fop/events/EventProducer;
            astore 2 /* producer */
         9: .line 129
            aload 0 /* this */
            getfield org.apache.fop.events.DefaultEventBroadcaster.proxies:Ljava/util/Map;
            aload 1 /* clazz */
            aload 2 /* producer */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 131
      StackMap locals: org.apache.fop.events.EventProducer
      StackMap stack:
            aload 2 /* producer */
            areturn
        end local 2 // org.apache.fop.events.EventProducer producer
        end local 1 // java.lang.Class clazz
        end local 0 // org.apache.fop.events.DefaultEventBroadcaster this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/fop/events/DefaultEventBroadcaster;
            0   11     1     clazz  Ljava/lang/Class;
            7   11     2  producer  Lorg/apache/fop/events/EventProducer;
    MethodParameters:
       Name  Flags
      clazz  

  protected org.apache.fop.events.EventProducer createProxyFor(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/apache/fop/events/EventProducer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.apache.fop.events.DefaultEventBroadcaster this
        start local 1 // java.lang.Class clazz
         0: .line 141
            aload 1 /* clazz */
            invokestatic org.apache.fop.events.DefaultEventBroadcaster.getEventProducerModel:(Ljava/lang/Class;)Lorg/apache/fop/events/model/EventProducerModel;
            astore 2 /* producerModel */
        start local 2 // org.apache.fop.events.model.EventProducerModel producerModel
         1: .line 142
            aload 2 /* producerModel */
            ifnonnull 5
         2: .line 143
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Event model doesn't contain the definition for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 144
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 143
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 146
      StackMap locals: org.apache.fop.events.model.EventProducerModel
      StackMap stack:
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         6: .line 147
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 1 /* clazz */
            aastore
         7: .line 148
            new org.apache.fop.events.DefaultEventBroadcaster$1
            dup
            aload 0 /* this */
            aload 2 /* producerModel */
            invokespecial org.apache.fop.events.DefaultEventBroadcaster$1.<init>:(Lorg/apache/fop/events/DefaultEventBroadcaster;Lorg/apache/fop/events/model/EventProducerModel;)V
         8: .line 146
            invokestatic java.lang.reflect.Proxy.newProxyInstance:(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
            checkcast org.apache.fop.events.EventProducer
            areturn
        end local 2 // org.apache.fop.events.model.EventProducerModel producerModel
        end local 1 // java.lang.Class clazz
        end local 0 // org.apache.fop.events.DefaultEventBroadcaster this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/apache/fop/events/DefaultEventBroadcaster;
            0    9     1          clazz  Ljava/lang/Class;
            1    9     2  producerModel  Lorg/apache/fop/events/model/EventProducerModel;
    MethodParameters:
       Name  Flags
      clazz  
}
SourceFile: "DefaultEventBroadcaster.java"
NestMembers:
  org.apache.fop.events.DefaultEventBroadcaster$1
InnerClasses:
  org.apache.fop.events.DefaultEventBroadcaster$1