Package 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
Description
`protected ArrayList<org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry>`
`entries`
The set of registered `BaseNotificationBroadcasterEntry` entries.

## Constructor Summary

Constructors
Constructor
Description
`BaseNotificationBroadcaster()`

## Method Summary

Modifier and Type
Method
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 Details

### entries

protected ArrayList<org.apache.tomcat.util.modeler.BaseNotificationBroadcasterEntry> entries
The set of registered `BaseNotificationBroadcasterEntry` entries.

## Constructor Details

### BaseNotificationBroadcaster

public BaseNotificationBroadcaster()

## Method Details

### 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