KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > snmp4j > agent > mo > jmx > types > MBeanProxyType


1 /*_############################################################################
2   _##
3   _## SNMP4J-AgentJMX - MBeanProxyType.java
4   _##
5   _## Copyright (C) 2006-2007 Frank Fock (SNMP4J.org)
6   _##
7   _## This program is free software; you can redistribute it and/or modify
8   _## it under the terms of the GNU General Public License version 2 as
9   _## published by the Free Software Foundation.
10   _##
11   _## This program 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
14   _## GNU General Public License for more details.
15   _##
16   _## You should have received a copy of the GNU General Public License
17   _## along with this program; if not, write to the Free Software
18   _## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19   _## MA 02110-1301 USA
20   _##
21   _##########################################################################*/

22 package org.snmp4j.agent.mo.jmx.types;
23
24 import javax.management.ObjectName JavaDoc;
25 import javax.management.MBeanServerConnection JavaDoc;
26 import javax.management.*;
27 import javax.management.*;
28 import javax.management.*;
29
30 public class MBeanProxyType extends TypedAttribute {
31
32   private ObjectName JavaDoc objectName;
33   private MBeanServerConnection JavaDoc server;
34   private String JavaDoc operationName;
35   private TypedAttribute proxy;
36
37   public MBeanProxyType(MBeanServerConnection JavaDoc server,
38                         ObjectName JavaDoc name,
39                         Class JavaDoc type,
40                         String JavaDoc operationName, TypedAttribute proxy) {
41     super(proxy.getName(), type);
42     this.server = server;
43     this.objectName = name;
44     this.operationName = operationName;
45     this.proxy = proxy;
46   }
47
48   public Object JavaDoc transformFromNative(Object JavaDoc nativeValue, ObjectName JavaDoc objectName) {
49     Object JavaDoc param = proxy.transformFromNative(nativeValue, null);
50     try {
51       Object JavaDoc result = server.invoke(this.objectName, operationName,
52                                     new Object JavaDoc[] {param},
53                                     new String JavaDoc[] {proxy.getType().getName()});
54       return result;
55     }
56     catch (Exception JavaDoc ex) {
57       ex.printStackTrace();
58     }
59     return null;
60   }
61
62   public Object JavaDoc transformToNative(Object JavaDoc transformedValue,
63                                   Object JavaDoc oldNativeValue, ObjectName JavaDoc objectName) {
64     throw new UnsupportedOperationException JavaDoc();
65   }
66
67 }
68
Popular Tags