Package org.firebirdsql.gds.ng.listeners

## Class DatabaseListenerDispatcher

- java.lang.Object
- - org.firebirdsql.gds.ng.listeners.AbstractListenerDispatcher<DatabaseListener>
  - - org.firebirdsql.gds.ng.listeners.DatabaseListenerDispatcher

- All Implemented Interfaces:
    `java.lang.Iterable<DatabaseListener>`, `DatabaseListener`

      public final class DatabaseListenerDispatcher
      extends AbstractListenerDispatcher<DatabaseListener>
      implements DatabaseListener

  Dispatcher to maintain and notify other `DatabaseListener`.
  Since:
    3.0
  Author:
    Mark Rotteveel

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DatabaseListenerDispatcher()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `detached​(FbDatabase database)` | Called when the `database` connection has been detached
    `void` | `detaching​(FbDatabase database)` | Called before the `database` will be detached.
    `protected void` | `logError​(java.lang.String message, java.lang.Throwable throwable)` |
    `void` | `warningReceived​(FbDatabase database, java.sql.SQLWarning warning)` | Called when a warning was received for the `database` connection.

    - ### Methods inherited from class org.firebirdsql.gds.ng.listeners.AbstractListenerDispatcher

      `addListener, addWeakListener, isShutdown, iterator, notify, removeAllListeners, removeListener, shutdown`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### DatabaseListenerDispatcher

          public DatabaseListenerDispatcher()

  - ### Method Detail

    - #### detaching

          public void detaching​(FbDatabase database)

      Description copied from interface: `DatabaseListener`
      Called before the `database` will be detached.

      This event is intended for cleanup action, implementer should take care that no exceptions are thrown from this method.

      Specified by:
        `detaching` in interface `DatabaseListener`
      Parameters:
        `database` - The database object that is detaching

    - #### detached

          public void detached​(FbDatabase database)

      Description copied from interface: `DatabaseListener`
      Called when the `database` connection has been detached
      Specified by:
        `detached` in interface `DatabaseListener`
      Parameters:
        `database` - The database object that was detached

    - #### warningReceived

          public void warningReceived​(FbDatabase database,
                                      java.sql.SQLWarning warning)

      Description copied from interface: `DatabaseListener`
      Called when a warning was received for the `database` connection.

      In implementation it is possible that some warnings are not sent to listeners on the database, but only to listeners on specific connection derived objects (like an `FbStatement` implementation).

      Specified by:
        `warningReceived` in interface `DatabaseListener`
      Parameters:
        `database` - Database receiving the warning
        `warning` - Warning

    - #### logError

          protected void logError​(java.lang.String message,
                                  java.lang.Throwable throwable)

      Specified by:
        `logError` in class `AbstractListenerDispatcher<DatabaseListener>`