org.apache.fop.events

## Class DefaultEventBroadcaster

- java.lang.Object
- - org.apache.fop.events.DefaultEventBroadcaster

- All Implemented Interfaces:
    EventBroadcaster

      public class DefaultEventBroadcaster
      extends java.lang.Object
      implements EventBroadcaster

  Default implementation of the EventBroadcaster interface. It holds a list of event listeners and can provide `EventProducer` instances for type-safe event production.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected CompositeEventListener` | `listeners` Holds all registered event listeners

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultEventBroadcaster()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addEventListener(EventListener listener)` Adds an event listener to the broadcaster.
    `static void` | `addEventModel(EventModel eventModel)` Adds a new `EventModel` to the list of registered event models.
    `void` | `broadcastEvent(Event event)` Broadcasts an event.
    `protected EventProducer` | `createProxyFor(java.lang.Class clazz)` Creates a dynamic proxy for the given EventProducer interface that will handle the conversion of the method call into the broadcasting of an event instance.
    `EventProducer` | `getEventProducerFor(java.lang.Class clazz)` Returns an event producer instance for the given interface class.
    `boolean` | `hasEventListeners()` Indicates whether any listeners have been registered with the broadcaster.
    `void` | `removeEventListener(EventListener listener)` Removes an event listener from the broadcaster.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### listeners

          protected CompositeEventListener listeners

      Holds all registered event listeners

  - ### Constructor Detail

    - #### DefaultEventBroadcaster

          public DefaultEventBroadcaster()

  - ### Method Detail

    - #### addEventListener

          public void addEventListener(EventListener listener)

      Adds an event listener to the broadcaster. It is appended to the list of previously registered listeners (the order of registration defines the calling order).
      Specified by:
        `addEventListener` in interface `EventBroadcaster`
      Parameters:
        `listener` - the listener to be added

    - #### removeEventListener

          public void removeEventListener(EventListener listener)

      Removes an event listener from the broadcaster. If the event listener is not registered, nothing happens.
      Specified by:
        `removeEventListener` in interface `EventBroadcaster`
      Parameters:
        `listener` - the listener to be removed

    - #### hasEventListeners

          public boolean hasEventListeners()

      Indicates whether any listeners have been registered with the broadcaster.
      Specified by:
        `hasEventListeners` in interface `EventBroadcaster`
      Returns:
        true if listeners are present, false otherwise

    - #### broadcastEvent

          public void broadcastEvent(Event event)

      Broadcasts an event. This method is usually called from within the observed component.
      Specified by:
        `broadcastEvent` in interface `EventBroadcaster`
      Parameters:
        `event` - the event to be broadcast

    - #### addEventModel

          public static void addEventModel(EventModel eventModel)

      Adds a new `EventModel` to the list of registered event models.
      Parameters:
        `eventModel` - the event model instance

    - #### getEventProducerFor

          public EventProducer getEventProducerFor(java.lang.Class clazz)

      Returns an event producer instance for the given interface class.
      Specified by:
        `getEventProducerFor` in interface `EventBroadcaster`
      Parameters:
        `clazz` - the Class object identifying an `EventProducer` interface
      Returns:
        the event producer instance

    - #### createProxyFor

          protected EventProducer createProxyFor(java.lang.Class clazz)

      Creates a dynamic proxy for the given EventProducer interface that will handle the conversion of the method call into the broadcasting of an event instance.
      Parameters:
        `clazz` - a descendant interface of EventProducer
      Returns:
        the EventProducer instance

Copyright 1999-2015 The Apache Software Foundation. All Rights Reserved.