Class DefaultEventBroadcaster

    • Field Detail

      • eventModels

        private static java.util.List<EventModel> eventModels
      • proxies

        private java.util.Map proxies
    • 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
      • loadModel

        private static EventModel loadModel​(java.lang.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​(java.lang.Class clazz)
      • 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