Class AbstractPostponedEvent<L extends java.util.EventListener,​E extends java.util.EventObject>

  • Type Parameters:
    L - The type of listener that listens for the events.
    E - The type of postponed event.
    All Implemented Interfaces:
    PostponedEvent<E>

    public abstract class AbstractPostponedEvent<L extends java.util.EventListener,​E extends java.util.EventObject>
    extends java.lang.Object
    implements PostponedEvent<E>
    Abstract implementation of an event and the means to fire it at a later time.
    Author:
    Garret Wilson
    • Constructor Detail

      • AbstractPostponedEvent

        public AbstractPostponedEvent​(EventListenerManager eventListenerManager,
                                      java.lang.Class<L> listenerKey,
                                      E event)
        Creates a postponed event.
        Parameters:
        eventListenerManager - The manager that keeps track of event listeners, or null if there is no manager and therefore no listeners.
        listenerKey - The key under which listeners have been stored in the listener manager.
        event - The event that has been postponed.
        Throws:
        java.lang.NullPointerException - if the listener key and/or event is null.
    • Method Detail

      • isFired

        public boolean isFired()
        Specified by:
        isFired in interface PostponedEvent<L extends java.util.EventListener>
        Returns:
        Whether the postponed event has been fired.
      • getEventListenerManager

        protected EventListenerManager getEventListenerManager()
        Returns:
        The manager that keeps track of event listeners, or null if there is no manager and therefore no listeners.
      • getListenerKey

        protected java.lang.Class<L> getListenerKey()
        Returns:
        The key under which listeners have been stored in the listener manager.
      • getEvent

        public E getEvent()
        Specified by:
        getEvent in interface PostponedEvent<L extends java.util.EventListener>
        Returns:
        The event that has been postponed.
      • fireEvent

        public void fireEvent()
        Fires the postponed event. This method delegates to fireEvent(EventListener, EventObject), and concrete classes should usually override that method instead of this one.
        Specified by:
        fireEvent in interface PostponedEvent<L extends java.util.EventListener>
        Throws:
        java.lang.IllegalStateException - if the postponed event has already been fired.
      • fireEvent

        protected abstract void fireEvent​(L listener,
                                          E event)
        Fires the postponed event to the provided listener.
        Parameters:
        listener - The listener to which the event should be fired.
        event - The event to be dispatched.