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.
  • Constructor Details

    • BaseNotificationBroadcaster

      public BaseNotificationBroadcaster()
      Default constructor.
  • 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 - 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
    • removeAttributeNotificationListener

      public void removeAttributeNotificationListener(NotificationListener listener, String name)
      Remove an attribute change notification event listener for a specific attribute name from this MBean, or all attribute change registrations for the listener if the name is null. For a specific name, other registrations of the same listener are left untouched. If a coalesced filter ends up accepting no explicit names, the corresponding entry is removed entirely rather than being turned into an accept-all filter. A registration that accepts all attribute names (a filter with no explicit names, created when the listener was added with a null attribute name) can only be removed by passing a null name here.
      Parameters:
      listener - The listener to be removed
      name - The attribute name for which the registration should be removed, or null to remove all attribute change registrations for the listener
    • sendNotification

      public void sendNotification(Notification notification)
      Send the specified notification to all interested listeners.
      Parameters:
      notification - The notification to be sent