KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > javax > management > support > RegistrationSupport


1 /*
2  * Copyright (C) The MX4J Contributors.
3  * All rights reserved.
4  *
5  * This software is distributed under the terms of the MX4J License version 1.0.
6  * See the terms of the MX4J License in the documentation provided with this software.
7  */

8
9 package test.javax.management.support;
10
11 import javax.management.InstanceNotFoundException JavaDoc;
12 import javax.management.MBeanOperationInfo JavaDoc;
13 import javax.management.MBeanParameterInfo JavaDoc;
14 import javax.management.MBeanRegistration JavaDoc;
15 import javax.management.MBeanServer JavaDoc;
16 import javax.management.Notification JavaDoc;
17 import javax.management.NotificationListener JavaDoc;
18 import javax.management.ObjectName JavaDoc;
19
20 import mx4j.AbstractDynamicMBean;
21 import test.MutableBoolean;
22 import test.MutableObject;
23
24 /**
25  * @version $Revision: 1.7 $
26  */

27 public class RegistrationSupport
28 {
29    public interface NullObjectNameMBean
30    {
31    }
32
33    public static class NullObjectName implements NullObjectNameMBean, MBeanRegistration JavaDoc
34    {
35       public ObjectName JavaDoc preRegister(MBeanServer JavaDoc server, ObjectName JavaDoc name) throws Exception JavaDoc
36       {
37          return null;
38       }
39
40       public void postRegister(Boolean JavaDoc registrationDone)
41       {
42       }
43
44       public void preDeregister() throws Exception JavaDoc
45       {
46       }
47
48       public void postDeregister()
49       {
50       }
51    }
52
53    public interface PreRegisterExceptionMBean
54    {
55    }
56
57    public static class PreRegisterException implements PreRegisterExceptionMBean, MBeanRegistration JavaDoc
58    {
59       public ObjectName JavaDoc preRegister(MBeanServer JavaDoc server, ObjectName JavaDoc name) throws Exception JavaDoc
60       {
61          throw new Exception JavaDoc();
62       }
63
64       public void postRegister(Boolean JavaDoc registrationDone)
65       {
66       }
67
68       public void preDeregister() throws Exception JavaDoc
69       {
70       }
71
72       public void postDeregister()
73       {
74       }
75    }
76
77    public interface PostRegisterExceptionMBean
78    {
79    }
80
81    public static class PostRegisterException implements PostRegisterExceptionMBean, MBeanRegistration JavaDoc
82    {
83       public ObjectName JavaDoc preRegister(MBeanServer JavaDoc server, ObjectName JavaDoc name) throws Exception JavaDoc
84       {
85          return name;
86       }
87
88       public void postRegister(Boolean JavaDoc registrationDone)
89       {
90          throw new RuntimeException JavaDoc();
91       }
92
93       public void preDeregister() throws Exception JavaDoc
94       {
95       }
96
97       public void postDeregister()
98       {
99       }
100    }
101
102    public interface PreDeregisterExceptionMBean
103    {
104    }
105
106    public static class PreDeregisterException implements PreDeregisterExceptionMBean, MBeanRegistration JavaDoc
107    {
108       public ObjectName JavaDoc preRegister(MBeanServer JavaDoc server, ObjectName JavaDoc name) throws Exception JavaDoc
109       {
110          return name;
111       }
112
113       public void postRegister(Boolean JavaDoc registrationDone)
114       {
115       }
116
117       public void preDeregister() throws Exception JavaDoc
118       {
119          throw new Exception JavaDoc();
120       }
121
122       public void postDeregister()
123       {
124       }
125    }
126
127    public interface PostDeregisterExceptionMBean
128    {
129    }
130
131    public static class PostDeregisterException implements PostDeregisterExceptionMBean, MBeanRegistration JavaDoc
132    {
133       public ObjectName JavaDoc preRegister(MBeanServer JavaDoc server, ObjectName JavaDoc name) throws Exception JavaDoc
134       {
135          return name;
136       }
137
138       public void postRegister(Boolean JavaDoc registrationDone)
139       {
140       }
141
142       public void preDeregister() throws Exception JavaDoc
143       {
144       }
145
146       public void postDeregister()
147       {
148          throw new RuntimeException JavaDoc();
149       }
150    }
151
152    public interface EmptyMBean
153    {
154    }
155
156    public static class Empty implements EmptyMBean, MBeanRegistration JavaDoc
157    {
158       private MutableBoolean m_bool1;
159       private MutableBoolean m_bool2;
160
161       public Empty(MutableBoolean bool1, MutableBoolean bool2)
162       {
163          m_bool1 = bool1;
164          m_bool2 = bool2;
165       }
166
167       public ObjectName JavaDoc preRegister(MBeanServer JavaDoc server, ObjectName JavaDoc name) throws Exception JavaDoc
168       {
169          return name;
170       }
171
172       public void postRegister(Boolean JavaDoc registrationDone)
173       {
174          m_bool1.set(registrationDone.booleanValue());
175       }
176
177       public void preDeregister() throws Exception JavaDoc
178       {
179          m_bool1.set(false);
180       }
181
182       public void postDeregister()
183       {
184          m_bool2.set(false);
185       }
186    }
187
188    public interface EmptyDuplicateMBean
189    {
190    }
191
192    public static class EmptyDuplicate implements EmptyDuplicateMBean, MBeanRegistration JavaDoc
193    {
194       private ObjectName JavaDoc m_name;
195       private MutableBoolean m_bool1;
196
197       public EmptyDuplicate(ObjectName JavaDoc name, MutableBoolean bool1)
198       {
199          m_name = name;
200          m_bool1 = bool1;
201       }
202
203       public ObjectName JavaDoc preRegister(MBeanServer JavaDoc server, ObjectName JavaDoc name) throws Exception JavaDoc
204       {
205          return m_name;
206       }
207
208       public void postRegister(Boolean JavaDoc registrationDone)
209       {
210          m_bool1.set(registrationDone.booleanValue());
211       }
212
213       public void preDeregister() throws Exception JavaDoc
214       {
215       }
216
217       public void postDeregister()
218       {
219       }
220    }
221
222    public interface StdMBean
223    {
224       public void method();
225    }
226
227    public static class Std implements StdMBean, MBeanRegistration JavaDoc
228    {
229       public ObjectName JavaDoc preRegister(MBeanServer JavaDoc server, ObjectName JavaDoc name) throws Exception JavaDoc
230       {
231          return name;
232       }
233
234       public void postRegister(Boolean JavaDoc registrationDone)
235       {
236       }
237
238       public void preDeregister() throws Exception JavaDoc
239       {
240       }
241
242       public void postDeregister()
243       {
244       }
245
246       public void method()
247       {
248       }
249    }
250
251    public static class Dyn extends AbstractDynamicMBean implements MBeanRegistration JavaDoc
252    {
253       public ObjectName JavaDoc preRegister(MBeanServer JavaDoc server, ObjectName JavaDoc name) throws Exception JavaDoc
254       {
255          return name;
256       }
257
258       public void postRegister(Boolean JavaDoc registrationDone)
259       {
260       }
261
262       public void preDeregister() throws Exception JavaDoc
263       {
264       }
265
266       public void postDeregister()
267       {
268       }
269
270       public void method()
271       {
272       }
273
274       protected MBeanOperationInfo JavaDoc[] createMBeanOperationInfo()
275       {
276          return new MBeanOperationInfo JavaDoc[]{new MBeanOperationInfo JavaDoc(StdMBean.class.getMethods()[0].getName(), null, new MBeanParameterInfo JavaDoc[0], "void", MBeanOperationInfo.UNKNOWN)};
277       }
278    }
279
280    public interface ListenerRegistrarMBean
281    {
282    }
283
284    public static class ListenerRegistrar implements ListenerRegistrarMBean, MBeanRegistration JavaDoc, NotificationListener JavaDoc
285    {
286       private final MutableObject holder;
287       private MBeanServer JavaDoc server;
288       private ObjectName JavaDoc delegate;
289
290       public ListenerRegistrar(MutableObject holder)
291       {
292          this.holder = holder;
293       }
294
295       public ObjectName JavaDoc preRegister(MBeanServer JavaDoc server, ObjectName JavaDoc name) throws Exception JavaDoc
296       {
297          this.server = server;
298          delegate = ObjectName.getInstance("JMImplementation:type=MBeanServerDelegate");
299          return name;
300       }
301
302       public void postRegister(Boolean JavaDoc registrationDone)
303       {
304          try
305          {
306             server.addNotificationListener(delegate, this, null, null);
307          }
308          catch (InstanceNotFoundException JavaDoc x)
309          {
310             throw new Error JavaDoc(x.toString());
311          }
312       }
313
314       public void preDeregister() throws Exception JavaDoc
315       {
316       }
317
318       public void postDeregister()
319       {
320          try
321          {
322             server.removeNotificationListener(delegate, this);
323          }
324          catch (Exception JavaDoc x)
325          {
326             throw new Error JavaDoc(x.toString());
327          }
328       }
329
330       public void handleNotification(Notification JavaDoc notification, Object JavaDoc handback)
331       {
332          holder.set(notification);
333       }
334    }
335 }
336
Popular Tags