KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jonas > mejb > ListenerProxyImpl


1 /*
2  * JOnAS: Java(TM) Open Application Server
3  * Copyright (C) 1999 Bull S.A.
4  * Contact: jonas-team@objectweb.org
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19  * USA
20  *
21  * --------------------------------------------------------------------------
22  * $Id:
23  * --------------------------------------------------------------------------
24  */

25 package org.objectweb.jonas.mejb;
26
27 import javax.rmi.PortableRemoteObject JavaDoc;
28 import java.rmi.RemoteException JavaDoc;
29
30 // JMX
31
import javax.management.Notification JavaDoc;
32 import javax.management.NotificationListener JavaDoc;
33 import javax.management.NotificationFilter JavaDoc;
34
35 /**
36  * Proxy object on client side allowing remote notification delivery.
37  * Current implementation only supports one notification listener/listened managed object association
38  * (suppose a removeNotificationListener is called before a subsequent addNotificationListener calls).
39  * This is very a temporary solution.
40  */

41 public class ListenerProxyImpl extends PortableRemoteObject JavaDoc implements ListenerProxy {
42
43     NotificationListener JavaDoc listener = null;
44     NotificationFilter JavaDoc filter = null;
45
46     public ListenerProxyImpl() throws RemoteException JavaDoc {
47         super();
48     }
49
50     public void addNotificationListener(NotificationListener JavaDoc listener, NotificationFilter JavaDoc filter)
51         throws RemoteException JavaDoc
52     {
53         //System.out.println("--------> IN ListenerProxyImpl.addNotificationListener");
54
this.listener = listener;
55         this.filter = filter;
56     }
57     public void removeNotificationListener(NotificationListener JavaDoc listener)
58         throws RemoteException JavaDoc
59     {
60         if (listener.equals(this.listener)) {
61             // reset proxy
62
this.listener = null;
63             this.filter = null;
64         }
65     }
66     public void handleNotification(Notification JavaDoc notification, Object JavaDoc handback)
67         throws RemoteException JavaDoc {
68         //System.out.println("--------> In ListenerProxyImpl.handleNotification, handback = " + handback);
69
listener.handleNotification(notification, handback);
70     }
71 }
72
Popular Tags