org.apache.commons.modeler
Class BaseNotificationBroadcaster

java.lang.Object
  |
  +--org.apache.commons.modeler.BaseNotificationBroadcaster

public class BaseNotificationBroadcaster
extends java.lang.Object

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
protected  java.util.ArrayList entries
          The set of registered BaseNotificationBroadcasterEntry entries.
(package private)  int[] hookCount
           
(package private)  NotificationListener[][] hooks
           
 
Constructor Summary
BaseNotificationBroadcaster()
           
 
Method Summary
 void addNotificationListener(NotificationListener listener, NotificationFilter filter, java.lang.Object handback)
          Add a notification event listener to this MBean.
 MBeanNotificationInfo[] getNotificationInfo()
          Return an MBeanNotificationInfo object describing the notifications sent by this MBean.
private  void registerNotifications(FixedNotificationFilter filter)
           
 void removeNotificationListener(NotificationListener listener)
          Remove a notification event listener from this MBean.
 void removeNotificationListener(NotificationListener listener, NotificationFilter filter, java.lang.Object handback)
          Remove a notification event listener from this MBean.
 void removeNotificationListener(NotificationListener listener, java.lang.Object handback)
          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 java.util.ArrayList entries
The set of registered BaseNotificationBroadcasterEntry entries.


hooks

NotificationListener[][] hooks

hookCount

int[] hookCount
Constructor Detail

BaseNotificationBroadcaster

public BaseNotificationBroadcaster()
Method Detail

addNotificationListener

public void addNotificationListener(NotificationListener listener,
                                    NotificationFilter filter,
                                    java.lang.Object handback)
                             throws java.lang.IllegalArgumentException
Add a notification event listener to this MBean.

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:
java.lang.IllegalArgumentException - if the listener parameter is null

getNotificationInfo

public MBeanNotificationInfo[] getNotificationInfo()
Return an MBeanNotificationInfo object describing the notifications sent by this MBean.


removeNotificationListener

public void removeNotificationListener(NotificationListener listener)
                                throws ListenerNotFoundException
Remove a notification event listener from this MBean.

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

removeNotificationListener

public void removeNotificationListener(NotificationListener listener,
                                       java.lang.Object handback)
                                throws ListenerNotFoundException
Remove a notification event listener from this MBean.

Parameters:
listener - The listener to be removed (any and all registrations for this listener will be eliminated)
handback - Handback object to be sent along with event notifications
Throws:
ListenerNotFoundException - if this listener is not registered in the MBean

removeNotificationListener

public void removeNotificationListener(NotificationListener listener,
                                       NotificationFilter filter,
                                       java.lang.Object handback)
                                throws ListenerNotFoundException
Remove a notification event listener from this MBean.

Parameters:
listener - The listener to be removed (any and all registrations for this listener will be eliminated)
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:
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

registerNotifications

private void registerNotifications(FixedNotificationFilter filter)


Copyright (c) 2001-2003 - Apache Software Foundation