1 8 9 package mx4j.server; 10 11 import javax.management.MBeanInfo ; 12 import javax.management.ObjectInstance ; 13 import javax.management.ObjectName ; 14 15 21 class MX4JMBeanMetaData implements MBeanMetaData 22 { 23 private Object mbean; 24 private ClassLoader classloader; 25 private ObjectInstance instance; 26 private ObjectName name; 27 private MBeanInfo info; 28 private boolean dynamic; 29 private boolean standard; 30 private Class management; 31 private MBeanInvoker invoker; 32 33 public Object getMBean() 34 { 35 return mbean; 36 } 37 38 public void setMBean(Object mbean) 39 { 40 this.mbean = mbean; 41 } 42 43 public ClassLoader getClassLoader() 44 { 45 return classloader; 46 } 47 48 public void setClassLoader(ClassLoader classloader) 49 { 50 this.classloader = classloader; 51 } 52 53 public ObjectName getObjectName() 54 { 55 return name; 56 } 57 58 public void setObjectName(ObjectName name) 59 { 60 this.name = name; 61 } 62 63 public MBeanInfo getMBeanInfo() 64 { 65 return info; 66 } 67 68 public void setMBeanInfo(MBeanInfo info) 69 { 70 this.info = info; 71 } 72 73 public boolean isMBeanDynamic() 74 { 75 return dynamic; 76 } 77 78 public void setMBeanDynamic(boolean dynamic) 79 { 80 this.dynamic = dynamic; 81 } 82 83 public boolean isMBeanStandard() 84 { 85 return standard; 86 } 87 88 public void setMBeanStandard(boolean standard) 89 { 90 this.standard = standard; 91 } 92 93 public Class getMBeanInterface() 94 { 95 return management; 96 } 97 98 public void setMBeanInterface(Class management) 99 { 100 this.management = management; 101 } 102 103 public MBeanInvoker getMBeanInvoker() 104 { 105 return invoker; 106 } 107 108 public void setMBeanInvoker(MBeanInvoker invoker) 109 { 110 this.invoker = invoker; 111 } 112 113 public ObjectInstance getObjectInstance() 114 { 115 if (instance == null) 116 { 117 instance = new ObjectInstance (getObjectName(), getMBeanInfo().getClassName()); 118 return instance; 119 } 120 121 if (isMBeanDynamic()) 122 { 123 String clsName = getMBeanInfo().getClassName(); 124 if (!instance.getClassName().equals(clsName)) instance = new ObjectInstance (getObjectName(), clsName); 125 } 126 127 return instance; 128 } 129 } 130 | Popular Tags |