Methods Summary |
---|
public void | addNotificationListener(javax.management.ObjectName name, javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
getMBeanServer().addNotificationListener(name, listener,
filter, handback);
|
public void | addNotificationListener(javax.management.ObjectName name, javax.management.ObjectName listener, javax.management.NotificationFilter filter, java.lang.Object handback)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
getMBeanServer().addNotificationListener(name, listener,
filter, handback);
|
private void | checkClassLoader(java.lang.Object object)
if (object instanceof ClassLoader)
throw new SecurityException("Access denied! Creating an " +
"MBean that is a ClassLoader " +
"is forbidden unless a security " +
"manager is installed.");
|
private void | checkMLetMethods(javax.management.ObjectName name, java.lang.String operation)
// Check if security manager installed
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
return;
}
// Check for addURL and getMBeansFromURL methods
if (!operation.equals("addURL") &&
!operation.equals("getMBeansFromURL")) {
return;
}
// Check if MBean is instance of MLet
if (!getMBeanServer().isInstanceOf(name,
"javax.management.loading.MLet")) {
return;
}
// Throw security exception
if (operation.equals("addURL")) { // addURL
throw new SecurityException("Access denied! MLet method addURL " +
"cannot be invoked unless a security manager is installed.");
} else { // getMBeansFromURL
// Whether or not calling getMBeansFromURL is allowed is controlled
// by the value of the "jmx.remote.x.mlet.allow.getMBeansFromURL"
// system property. If the value of this property is true, calling
// the MLet's getMBeansFromURL method is allowed. The default value
// for this property is false.
final String propName = "jmx.remote.x.mlet.allow.getMBeansFromURL";
GetPropertyAction propAction = new GetPropertyAction(propName);
String propValue = (String) AccessController.doPrivileged(propAction);
boolean allowGetMBeansFromURL = "true".equalsIgnoreCase(propValue);
if (!allowGetMBeansFromURL) {
throw new SecurityException("Access denied! MLet method " +
"getMBeansFromURL cannot be invoked unless a " +
"security manager is installed or the system property " +
"-Djmx.remote.x.mlet.allow.getMBeansFromURL=true " +
"is specified.");
}
}
|
protected abstract void | checkRead()Check if the caller can do read operations. This method does
nothing if so, otherwise throws SecurityException.
|
protected abstract void | checkWrite()Check if the caller can do write operations. This method does
nothing if so, otherwise throws SecurityException.
|
public javax.management.ObjectInstance | createMBean(java.lang.String className, javax.management.ObjectName name, javax.management.ObjectName loaderName, java.lang.Object[] params, java.lang.String[] signature)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
SecurityManager sm = System.getSecurityManager();
if (sm == null) {
Object object = getMBeanServer().instantiate(className,
loaderName,
params,
signature);
checkClassLoader(object);
return getMBeanServer().registerMBean(object, name);
} else {
return getMBeanServer().createMBean(className, name, loaderName,
params, signature);
}
|
public javax.management.ObjectInstance | createMBean(java.lang.String className, javax.management.ObjectName name)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
SecurityManager sm = System.getSecurityManager();
if (sm == null) {
Object object = getMBeanServer().instantiate(className);
checkClassLoader(object);
return getMBeanServer().registerMBean(object, name);
} else {
return getMBeanServer().createMBean(className, name);
}
|
public javax.management.ObjectInstance | createMBean(java.lang.String className, javax.management.ObjectName name, java.lang.Object[] params, java.lang.String[] signature)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
SecurityManager sm = System.getSecurityManager();
if (sm == null) {
Object object = getMBeanServer().instantiate(className,
params,
signature);
checkClassLoader(object);
return getMBeanServer().registerMBean(object, name);
} else {
return getMBeanServer().createMBean(className, name,
params, signature);
}
|
public javax.management.ObjectInstance | createMBean(java.lang.String className, javax.management.ObjectName name, javax.management.ObjectName loaderName)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
SecurityManager sm = System.getSecurityManager();
if (sm == null) {
Object object = getMBeanServer().instantiate(className,
loaderName);
checkClassLoader(object);
return getMBeanServer().registerMBean(object, name);
} else {
return getMBeanServer().createMBean(className, name, loaderName);
}
|
public java.io.ObjectInputStream | deserialize(javax.management.ObjectName name, byte[] data)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().deserialize(name, data);
|
public java.io.ObjectInputStream | deserialize(java.lang.String className, byte[] data)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().deserialize(className, data);
|
public java.io.ObjectInputStream | deserialize(java.lang.String className, javax.management.ObjectName loaderName, byte[] data)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().deserialize(className, loaderName, data);
|
public java.lang.Object | getAttribute(javax.management.ObjectName name, java.lang.String attribute)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().getAttribute(name, attribute);
|
public javax.management.AttributeList | getAttributes(javax.management.ObjectName name, java.lang.String[] attributes)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().getAttributes(name, attributes);
|
public java.lang.ClassLoader | getClassLoader(javax.management.ObjectName loaderName)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().getClassLoader(loaderName);
|
public java.lang.ClassLoader | getClassLoaderFor(javax.management.ObjectName mbeanName)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().getClassLoaderFor(mbeanName);
|
public javax.management.loading.ClassLoaderRepository | getClassLoaderRepository()Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().getClassLoaderRepository();
|
public java.lang.String | getDefaultDomain()Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().getDefaultDomain();
|
public java.lang.String[] | getDomains()Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().getDomains();
|
public java.lang.Integer | getMBeanCount()Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().getMBeanCount();
|
public javax.management.MBeanInfo | getMBeanInfo(javax.management.ObjectName name)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().getMBeanInfo(name);
|
public javax.management.MBeanServer | getMBeanServer()
return mbs;
|
public javax.management.ObjectInstance | getObjectInstance(javax.management.ObjectName name)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().getObjectInstance(name);
|
public java.lang.Object | instantiate(java.lang.String className)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
return getMBeanServer().instantiate(className);
|
public java.lang.Object | instantiate(java.lang.String className, java.lang.Object[] params, java.lang.String[] signature)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
return getMBeanServer().instantiate(className, params, signature);
|
public java.lang.Object | instantiate(java.lang.String className, javax.management.ObjectName loaderName)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
return getMBeanServer().instantiate(className, loaderName);
|
public java.lang.Object | instantiate(java.lang.String className, javax.management.ObjectName loaderName, java.lang.Object[] params, java.lang.String[] signature)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
return getMBeanServer().instantiate(className, loaderName,
params, signature);
|
public java.lang.Object | invoke(javax.management.ObjectName name, java.lang.String operationName, java.lang.Object[] params, java.lang.String[] signature)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
checkMLetMethods(name, operationName);
return getMBeanServer().invoke(name, operationName, params, signature);
|
public boolean | isInstanceOf(javax.management.ObjectName name, java.lang.String className)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().isInstanceOf(name, className);
|
public boolean | isRegistered(javax.management.ObjectName name)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().isRegistered(name);
|
public java.util.Set | queryMBeans(javax.management.ObjectName name, javax.management.QueryExp query)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().queryMBeans(name, query);
|
public java.util.Set | queryNames(javax.management.ObjectName name, javax.management.QueryExp query)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
return getMBeanServer().queryNames(name, query);
|
public javax.management.ObjectInstance | registerMBean(java.lang.Object object, javax.management.ObjectName name)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
return getMBeanServer().registerMBean(object, name);
|
public void | removeNotificationListener(javax.management.ObjectName name, javax.management.NotificationListener listener)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
getMBeanServer().removeNotificationListener(name, listener);
|
public void | removeNotificationListener(javax.management.ObjectName name, javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
getMBeanServer().removeNotificationListener(name, listener,
filter, handback);
|
public void | removeNotificationListener(javax.management.ObjectName name, javax.management.ObjectName listener)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
getMBeanServer().removeNotificationListener(name, listener);
|
public void | removeNotificationListener(javax.management.ObjectName name, javax.management.ObjectName listener, javax.management.NotificationFilter filter, java.lang.Object handback)Call checkRead() , then forward this method to the
wrapped object.
checkRead();
getMBeanServer().removeNotificationListener(name, listener,
filter, handback);
|
public void | setAttribute(javax.management.ObjectName name, javax.management.Attribute attribute)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
getMBeanServer().setAttribute(name, attribute);
|
public javax.management.AttributeList | setAttributes(javax.management.ObjectName name, javax.management.AttributeList attributes)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
return getMBeanServer().setAttributes(name, attributes);
|
public void | setMBeanServer(javax.management.MBeanServer mbs)
if (mbs == null)
throw new IllegalArgumentException("Null MBeanServer");
if (this.mbs != null)
throw new IllegalArgumentException("MBeanServer object already " +
"initialized");
this.mbs = mbs;
|
public void | unregisterMBean(javax.management.ObjectName name)Call checkWrite() , then forward this method to the
wrapped object.
checkWrite();
getMBeanServer().unregisterMBean(name);
|