Methods Summary |
---|
void | checkMethod(java.lang.reflect.Method m)
|
com.sun.jmx.mbeanserver.MBeanAnalyzer | getAnalyzer(java.lang.Class mbeanInterface)
return MBeanAnalyzer.analyzer(mbeanInterface, this);
|
javax.management.Descriptor | getBasicMBeanDescriptor()
/* We don't bother saying mxbean=false, and we can't know whether
the info is immutable until we know whether the MBean class
(not interface) is a NotificationBroadcaster. */
return ImmutableDescriptor.EMPTY_DESCRIPTOR;
|
java.lang.reflect.Type[] | getGenericParameterTypes(java.lang.reflect.Method m)
return m.getGenericParameterTypes();
|
java.lang.reflect.Type | getGenericReturnType(java.lang.reflect.Method m)
return m.getGenericReturnType();
|
static com.sun.jmx.mbeanserver.StandardMBeanIntrospector | getInstance()
return instance;
|
javax.management.MBeanAttributeInfo | getMBeanAttributeInfo(java.lang.String attributeName, java.lang.reflect.Method getter, java.lang.reflect.Method setter)
final String description = "Attribute exposed for management";
try {
return new MBeanAttributeInfo(attributeName, description,
getter, setter);
} catch (IntrospectionException e) {
throw new RuntimeException(e); // should not happen
}
|
javax.management.Descriptor | getMBeanDescriptor(java.lang.Class resourceClass)
boolean immutable = isDefinitelyImmutableInfo(resourceClass);
return new ImmutableDescriptor("mxbean=false",
"immutableInfo=" + immutable);
|
MBeanInfoMap | getMBeanInfoMap()
return mbeanInfoMap;
|
javax.management.MBeanOperationInfo | getMBeanOperationInfo(java.lang.String operationName, java.lang.reflect.Method operation)
final String description = "Operation exposed for management";
return new MBeanOperationInfo(description, operation);
|
java.lang.String | getName(java.lang.reflect.Method m)
return m.getName();
|
PerInterfaceMap | getPerInterfaceMap()
return perInterfaceMap;
|
java.lang.String[] | getSignature(java.lang.reflect.Method m)
Class<?>[] params = m.getParameterTypes();
String[] sig = new String[params.length];
for (int i = 0; i < params.length; i++)
sig[i] = params[i].getName();
return sig;
|
java.lang.Object | invokeM2(java.lang.reflect.Method m, java.lang.Object target, java.lang.Object[] args, java.lang.Object cookie)
return m.invoke(target, args);
|
static boolean | isDefinitelyImmutableInfo(java.lang.Class implClass)
if (!NotificationBroadcaster.class.isAssignableFrom(implClass))
return true;
synchronized (definitelyImmutable) {
Boolean immutable = definitelyImmutable.get(implClass);
if (immutable == null) {
final Class<NotificationBroadcasterSupport> nbs =
NotificationBroadcasterSupport.class;
if (nbs.isAssignableFrom(implClass)) {
try {
Method m = implClass.getMethod("getNotificationInfo");
immutable = (m.getDeclaringClass() == nbs);
} catch (Exception e) {
// Too bad, we'll say no for now.
return false;
}
} else
immutable = false;
definitelyImmutable.put(implClass, immutable);
}
return immutable;
}
|
boolean | isMXBean()
return false;
|
java.lang.reflect.Method | mFrom(java.lang.reflect.Method m)
return m;
|
boolean | validParameter(java.lang.reflect.Method m, java.lang.Object value, int paramNo, java.lang.Object cookie)
return isValidParameter(m, value, paramNo);
|