org.apache.tomcat.util.modeler

## Class BaseNotificationBroadcaster

- java.lang.Object
- - org.apache.tomcat.util.modeler.BaseNotificationBroadcaster

- All Implemented Interfaces:
    NotificationBroadcaster

      public class BaseNotificationBroadcaster
      extends Object
      implements NotificationBroadcaster

  Implementation of `NotificationBroadcaster` for attribute change notifications. This class is used by `BaseModelMBean` to handle notifications of attribute change events to interested listeners.

  Author:
    Craig R. McClanahan, Costin Manolache

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ArrayList<org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry>` | `entries` The set of registered `BaseNotificationBroadcasterEntry` entries.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BaseNotificationBroadcaster()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)` Add a notification event listener to this MBean.
    `MBeanNotificationInfo[]` | `getNotificationInfo()` Return an `MBeanNotificationInfo` object describing the notifications sent by this MBean.
    `void` | `removeNotificationListener(NotificationListener listener)` Remove a notification event listener from this MBean.
    `void` | `sendNotification(Notification notification)` Send the specified notification to all interested listeners.

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

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

- - ### Field Detail

    - #### entries

          protected ArrayList<org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry> entries

      The set of registered `BaseNotificationBroadcasterEntry` entries.

  - ### Constructor Detail

    - #### BaseNotificationBroadcaster

          public BaseNotificationBroadcaster()

  - ### Method Detail

    - #### addNotificationListener

          public void addNotificationListener(NotificationListener listener,
                                     NotificationFilter filter,
                                     Object handback)
                                       throws IllegalArgumentException

      Add a notification event listener to this MBean.
      Specified by:
        `addNotificationListener` in interface `NotificationBroadcaster`
      Parameters:
        `listener` - Listener that will receive event notifications
        `filter` - Filter object used to filter event notifications actually delivered, or `null` for no filtering
        `handback` - Handback object to be sent along with event notifications
      Throws:
        `IllegalArgumentException` - if the listener parameter is null

    - #### getNotificationInfo

          public MBeanNotificationInfo[] getNotificationInfo()

      Return an `MBeanNotificationInfo` object describing the notifications sent by this MBean.
      Specified by:
        `getNotificationInfo` in interface `NotificationBroadcaster`

    - #### removeNotificationListener

          public void removeNotificationListener(NotificationListener listener)
                                          throws ListenerNotFoundException

      Remove a notification event listener from this MBean.
      Specified by:
        `removeNotificationListener` in interface `NotificationBroadcaster`
      Parameters:
        `listener` - The listener to be removed (any and all registrations for this listener will be eliminated)
      Throws:
        `ListenerNotFoundException` - if this listener is not registered in the MBean

    - #### sendNotification

          public void sendNotification(Notification notification)

      Send the specified notification to all interested listeners.
      Parameters:
        `notification` - The notification to be sent

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.