KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > mx > notification > NotificationFilterProxy


1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2005, JBoss Inc., and individual contributors as indicated
4 * by the @authors tag. See the copyright.txt in the distribution for a
5 * full listing of individual contributors.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */

22 package org.jboss.mx.notification;
23
24 import javax.management.NotificationFilter JavaDoc;
25 import javax.management.ObjectName JavaDoc;
26 import javax.management.Notification JavaDoc;
27
28 /**
29  * NotificationFilterProxy wraps a real filter by the users to pass down
30  * to the mbean server so that as notification emitters apply the filter, the
31  * appropriate source can be set in the notification object before passing to the
32  * real filter.
33  *
34  * @author <a HREF="mailto:jhaynie@vocalocity.net">Jeff Haynie</a>
35  * @version $Revision: 37459 $
36  */

37 public class NotificationFilterProxy implements NotificationFilter JavaDoc
38 {
39     private static final long serialVersionUID = 1L;
40     private ObjectName JavaDoc source;
41     private NotificationFilter JavaDoc delegate;
42
43     public NotificationFilterProxy(ObjectName JavaDoc source, NotificationFilter JavaDoc delegate)
44     {
45         this.source = source;
46         this.delegate = delegate;
47     }
48
49     /**
50      * This method is called before a notification is sent to see whether
51      * the listener wants the notification.
52      *
53      * @param notification the notification to be sent.
54      * @return true if the listener wants the notification, false otherwise
55      */

56     public boolean isNotificationEnabled(Notification JavaDoc notification)
57     {
58         // replace with the real source of the event
59
notification.setSource(source);
60         return this.delegate.isNotificationEnabled(notification);
61     }
62
63     /**
64      * return the real ObjectName source
65      *
66      * @return
67      */

68     public ObjectName JavaDoc getSource ()
69     {
70         return source;
71     }
72     /**
73      * return the real NotificationFilter
74      *
75      * @return
76      */

77     public NotificationFilter JavaDoc getFilter ()
78     {
79         return delegate;
80     }
81 }
82
Popular Tags