01: /**
02: * The XMOJO Project 5
03: * Copyright © 2003 XMOJO.org. All rights reserved.
04:
05: * NO WARRANTY
06:
07: * BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
08: * THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
09: * OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
10: * PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
11: * OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
12: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
13: * TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE
14: * LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
15: * REPAIR OR CORRECTION.
16:
17: * IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
18: * ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
19: * THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
20: * GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
21: * USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF
22: * DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
23: * PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE),
24: * EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
25: * SUCH DAMAGES.
26: **/package javax.management;
27:
28: /**
29: * Should be implemented by an MBean that emits Notifications. It allows a
30: * listener to be registered within the MBean as notification listener.
31: */
32: public abstract interface NotificationBroadcaster {
33: /**
34: * Enables a couple (listener,handback) for a registered MBean to be added.
35: *
36: * @param listener The listener object which will handles notifications
37: * emitted by the registered MBean.
38: *
39: * @param filter The filter object. If not specified, no filtering will be
40: * performed before handling notifications.
41: *
42: * @param handback The context to be sent to the listener when a
43: * notification is emitted.
44: *
45: * @throws java.lang.IllegalArgumentException Listener parameter is null.
46: */
47: public void addNotificationListener(NotificationListener listener,
48: NotificationFilter filter, Object handback)
49: throws IllegalArgumentException;
50:
51: /**
52: * Enables a listener for an MBean to be removed. All couple
53: * (listener, handback) are removed.
54: *
55: * @param listener The listener object which will handles notifications
56: * emitted by the registered MBean.
57: *
58: * @throws ListenerNotFoundException The listener is not registered in the MBean.
59: */
60: public void removeNotificationListener(NotificationListener listener)
61: throws ListenerNotFoundException;
62:
63: /**
64: * Returns a NotificationInfo object containing the name of the Java class
65: * of the notification and the notification types sent.
66: *
67: * @return This returns a array of MBeanNotificationInfo which
68: * contains the notification information
69: */
70: public MBeanNotificationInfo[] getNotificationInfo();
71: }
|