Class DefaultEventBroadcaster

java.lang.Object
org.apache.fop.events.DefaultEventBroadcaster
All Implemented Interfaces:
EventBroadcaster
Direct Known Subclasses:
FOUserAgent.FOPEventBroadcaster

public class DefaultEventBroadcaster extends 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 Details

  • Constructor Details

    • DefaultEventBroadcaster

      public DefaultEventBroadcaster()
  • Method Details

    • 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
    • loadModel

      private static EventModel loadModel(Class resourceBaseClass)
      Loads an event model and returns its instance.
      Parameters:
      resourceBaseClass - base class to use for loading resources
      Returns:
      the newly loaded event model.
    • addEventModel

      public static void addEventModel(EventModel eventModel)
      Adds a new EventModel to the list of registered event models.
      Parameters:
      eventModel - the event model instance
    • getEventProducerModel

      private static EventProducerModel getEventProducerModel(Class clazz)
    • getEventProducerFor

      public EventProducer getEventProducerFor(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(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