1 package ch.elca.el4j.services.monitoring.jmx.util;
2
3 import java.beans.PropertyDescriptor;
4 import java.lang.reflect.Method;
5
6
7
8
9
10
11
12
13 public class PropertyReflector {
14
15
16
17
18 private PropertyDescriptor m_d;
19
20
21
22
23
24 public PropertyReflector(PropertyDescriptor d) {
25 m_d = d;
26 }
27
28
29
30
31 public boolean isReadable() {
32 return (m_d.getReadMethod() != null);
33 }
34
35
36
37
38
39 public String getReadMethod() {
40 return m_d.getReadMethod().getName();
41 }
42
43
44
45
46 public boolean isWritable() {
47 return (m_d.getWriteMethod() != null);
48 }
49
50
51
52
53 public String getWriteMethod() {
54 return m_d.getWriteMethod().getName();
55 }
56
57
58
59
60 public String getName() {
61 return m_d.getName();
62 }
63
64
65
66
67 public String getType() {
68 String type = "";
69 if (isReadable()) {
70 type = m_d.getReadMethod().getReturnType().toString();
71 }
72 if (isWritable() && type.equals("")) {
73 Method m = m_d.getWriteMethod();
74 if (m.getParameterTypes().length == 1) {
75 type = m.getParameterTypes()[0].toString();
76 }
77 }
78 return type;
79 }
80
81
82
83
84 public String getRW() {
85 return (isReadable() ? "R" : "-") + (isWritable() ? "W" : "-");
86 }
87 }