KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > mx4j > server > MX4JMBeanMetaData


1 /*
2  * Copyright (C) MX4J.
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 mx4j.server;
10
11 import javax.management.MBeanInfo JavaDoc;
12 import javax.management.ObjectInstance JavaDoc;
13 import javax.management.ObjectName JavaDoc;
14
15 /**
16  * Default implementation of the MBeanMetaData interface.
17  *
18  * @author <a HREF="mailto:biorn_steedom@users.sourceforge.net">Simone Bordet</a>
19  * @version $Revision: 1.1 $
20  */

21 class MX4JMBeanMetaData implements MBeanMetaData
22 {
23     private Object JavaDoc mbean;
24     private ClassLoader JavaDoc classloader;
25     private ObjectInstance JavaDoc instance;
26     private ObjectName JavaDoc name;
27     private MBeanInfo JavaDoc info;
28     private boolean dynamic;
29     private boolean standard;
30     private Class JavaDoc management;
31     private MBeanInvoker invoker;
32
33    public Object JavaDoc getMBean()
34    {
35       return mbean;
36    }
37
38    public void setMBean(Object JavaDoc mbean)
39    {
40       this.mbean = mbean;
41    }
42
43    public ClassLoader JavaDoc getClassLoader()
44    {
45       return classloader;
46    }
47
48    public void setClassLoader(ClassLoader JavaDoc classloader)
49    {
50       this.classloader = classloader;
51    }
52
53    public ObjectName JavaDoc getObjectName()
54    {
55       return name;
56    }
57
58    public void setObjectName(ObjectName JavaDoc name)
59    {
60       this.name = name;
61    }
62
63    public MBeanInfo JavaDoc getMBeanInfo()
64    {
65       return info;
66    }
67
68    public void setMBeanInfo(MBeanInfo JavaDoc 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 JavaDoc getMBeanInterface()
94    {
95       return management;
96    }
97
98    public void setMBeanInterface(Class JavaDoc 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 JavaDoc getObjectInstance()
114    {
115       if (instance == null)
116       {
117          instance = new ObjectInstance JavaDoc(getObjectName(), getMBeanInfo().getClassName());
118          return instance;
119       }
120
121       if (isMBeanDynamic())
122       {
123          String JavaDoc clsName = getMBeanInfo().getClassName();
124          if (!instance.getClassName().equals(clsName)) instance = new ObjectInstance JavaDoc(getObjectName(), clsName);
125       }
126
127       return instance;
128    }
129 }
130
Popular Tags