All Downloads are FREE. Search and download functionalities are using the official Maven repository.

info.novatec.testit.webtester.events.EventSystem Maven / Gradle / Ivy

package info.novatec.testit.webtester.events;

/**
 * Provides methods to {@link #register(EventListener) register} and {@link #deregister(EventListener) deregister} an {@link
 * EventListener event listener}.
 * 

* These listeners are informed of {@link Event events} which are {@link #fireEvent(Event) fired} in via this class as well. *

* Event listeners will be informed of events in the order they were registered. Each call to an event listener is done * synchronously. * * @see Event * @see EventListener * @since 2.0 */ public interface EventSystem { /** * Registers an {@link EventListener event listener}. *

* The listener will then be informed of any {@link Event events} that are reported by the framework. * * @param listener the {@link EventListener event listener} to register * @see Event * @see EventListener * @since 2.0 */ void register(EventListener listener); /** * Deregisters an {@link EventListener event listener}. *

* The listener will no longer be informed of any {@link Event events} that are reported by the framework. * * @param listener the {@link EventListener event listener} to deregister * @see Event * @see EventListener * @since 2.0 */ void deregister(EventListener listener); /** * Removes all {@link EventListener event listeners} from the registry. * * @see EventListener * @since 2.0 */ void clearListeners(); /** * Informs all of the currently registered {@link EventListener event listeners} of the given {@link Event event}. *

* Any {@link RuntimeException undeclared exceptions} thrown by any of the registered listeners will be logged but * otherwise ignored. * * @param event the {@link Event event} to fire * @see Event * @see EventListener * @since 2.0 */ void fireEvent(Event event); /** * Informs all of the currently registered {@link EventListener event listeners} of an exception by creating and firing * a new {@link ExceptionEvent}. * * @param e the exception to package as an exception event * @see #fireEvent(Event) * @see ExceptionEvent * @see Event * @see EventListener * @since 2.0 */ void fireExceptionEvent(Throwable e); /** * Returns whether or not the event system is enabled. * This is a hint for event firing code to check before creating an event. *

* Important: {@link ExceptionEvent exception events} will still be fired! * * @return true if the event system is enabled * @see Event * @see EventListener * @since 2.0 */ boolean isEnabled(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy