01: package freemarker.debug.impl;
02:
03: import java.rmi.NoSuchObjectException;
04:
05: import java.rmi.RemoteException;
06:
07: import java.rmi.server.UnicastRemoteObject;
08:
09: import java.rmi.server.Unreferenced;
10:
11: import freemarker.debug.DebuggerClient;
12:
13: import freemarker.debug.DebuggerListener;
14:
15: import freemarker.debug.EnvironmentSuspendedEvent;
16:
17: import freemarker.log.Logger;
18:
19: /**
20:
21: * Used by the {@link DebuggerClient} to create local
22:
23: * @author Attila Szegedi
24:
25: * @version $Id: RmiDebuggerListenerImpl.java,v 1.1.2.1 2006/11/27 07:54:49 szegedia Exp $
26:
27: */
28:
29: public class RmiDebuggerListenerImpl
30:
31: extends
32:
33: UnicastRemoteObject
34:
35: implements
36:
37: DebuggerListener, Unreferenced
38:
39: {
40:
41: private static final Logger logger = Logger.getLogger(
42:
43: "freemarker.debug.client");
44:
45: private static final long serialVersionUID = 1L;
46:
47: private final DebuggerListener listener;
48:
49: public void unreferenced()
50:
51: {
52:
53: try
54:
55: {
56:
57: UnicastRemoteObject.unexportObject(this , false);
58:
59: }
60:
61: catch (NoSuchObjectException e)
62:
63: {
64:
65: logger.warn("Failed to unexport RMI debugger listener", e);
66:
67: }
68:
69: }
70:
71: public RmiDebuggerListenerImpl(DebuggerListener listener)
72:
73: throws RemoteException
74:
75: {
76:
77: this .listener = listener;
78:
79: }
80:
81: public void environmentSuspended(EnvironmentSuspendedEvent e)
82:
83: throws RemoteException
84:
85: {
86:
87: listener.environmentSuspended(e);
88:
89: }
90:
91: }
|