1 8 9 package mx4j.server; 10 11 import java.security.AccessController ; 12 import java.security.PrivilegedAction ; 13 import javax.management.MBeanInfo ; 14 import javax.management.ObjectInstance ; 15 import javax.management.ObjectName ; 16 17 import mx4j.MX4JSystemKeys; 18 19 26 public interface MBeanMetaData 27 { 28 33 public void setMBean(Object mbean); 34 35 40 public Object getMBean(); 41 42 47 public void setClassLoader(ClassLoader loader); 48 49 54 public ClassLoader getClassLoader(); 55 56 61 public void setObjectName(ObjectName name); 62 63 68 public ObjectName getObjectName(); 69 70 75 public void setMBeanInfo(MBeanInfo info); 76 77 82 public MBeanInfo getMBeanInfo(); 83 84 89 public void setMBeanInterface(Class management); 90 91 96 public Class getMBeanInterface(); 97 98 103 public void setMBeanStandard(boolean value); 104 105 110 public boolean isMBeanStandard(); 111 112 117 public void setMBeanDynamic(boolean value); 118 119 124 public boolean isMBeanDynamic(); 125 126 131 public void setMBeanInvoker(MBeanInvoker invoker); 132 133 138 public MBeanInvoker getMBeanInvoker(); 139 140 146 public ObjectInstance getObjectInstance(); 147 148 153 public static class Factory 154 { 155 public static MBeanMetaData create() 156 { 157 String className = (String )AccessController.doPrivileged(new PrivilegedAction () 158 { 159 public Object run() 160 { 161 return System.getProperty(MX4JSystemKeys.MX4J_MBEAN_METADATA); 162 } 163 }); 164 if (className == null) className = "mx4j.server.MX4JMBeanMetaData"; 165 166 try 167 { 168 try 169 { 170 return (MBeanMetaData)MBeanMetaData.class.getClassLoader().loadClass(className).newInstance(); 171 } 172 catch (ClassNotFoundException x) 173 { 174 return (MBeanMetaData)Thread.currentThread().getContextClassLoader().loadClass(className).newInstance(); 176 } 177 } 178 catch (Exception x) 179 { 180 throw new Error (x.toString()); 181 } 182 } 183 } 184 } 185 | Popular Tags |