Class ExceptionListenerDispatcher

java.lang.Object
org.firebirdsql.gds.ng.listeners.ExceptionListenerDispatcher
All Implemented Interfaces:
Iterable<ExceptionListener>, ExceptionListener

public final class ExceptionListenerDispatcher extends Object implements Iterable<ExceptionListener>, ExceptionListener
Listener dispatcher for ExceptionListener.

This implementation uses WeakReference (or more specifically WeakHashMap. Therefor listeners without a strong reference may be removed an no longer notified at any time.

Since:
3.0
Author:
Mark Rotteveel
  • Constructor Details

    • ExceptionListenerDispatcher

      public ExceptionListenerDispatcher(Object source)
  • Method Details

    • errorOccurred

      public void errorOccurred(Object source, SQLException exception)
      Description copied from interface: ExceptionListener
      Notify about a SQLException
      Specified by:
      errorOccurred in interface ExceptionListener
      Parameters:
      source - The source of the event; note for caller: this should be the object this listener is registered at.
      exception - error that occurred.
    • errorOccurred

      public void errorOccurred(SQLException exception)
    • addListener

      public void addListener(ExceptionListener listener)
      Adds the supplied listener to this dispatcher.

      A call to this method has no effect after shutdown() has been called.

      Parameters:
      listener - Listener object
    • removeListener

      public void removeListener(ExceptionListener listener)
      Removes the supplied listener from this dispatcher.
      Parameters:
      listener - Listener object
    • removeAllListeners

      public void removeAllListeners()
      Removes all listeners from this dispatcher.
    • shutdown

      public void shutdown()
      Shuts down this dispatcher and removes all listeners.

      After shutdown calls to addListener(ExceptionListener) are ignored.

    • isShutdown

      public boolean isShutdown()
      Returns:
      true when this dispatcher has been shut down.
    • iterator

      public Iterator<ExceptionListener> iterator()
      Specified by:
      iterator in interface Iterable<ExceptionListener>