gnu.java.lang.management

Class BeanImpl

Implemented Interfaces:
DynamicMBean
Known Direct Subclasses:
ClassLoadingMXBeanImpl, CompilationMXBeanImpl, MemoryManagerMXBeanImpl, MemoryMXBeanImpl, MemoryPoolMXBeanImpl, OperatingSystemMXBeanImpl, RuntimeMXBeanImpl, ThreadMXBeanImpl

public class BeanImpl
extends StandardMBean

A common superclass for bean implementations.
Since:
1.5

Constructor Summary

BeanImpl(Class<T> iface)
Constructs a new BeanImpl.

Method Summary

protected void
cacheMBeanInfo(MBeanInfo info)
protected void
checkControlPermissions()
protected void
checkMonitorPermissions()
Object
getAttribute(String attribute)
protected MBeanInfo
getCachedMBeanInfo()
protected String
getDescription(MBeanConstructorInfo constructor, MBeanParameterInfo parameter, int sequenceNo)
Override this method so as to prevent the description of a constructor's parameter being @code{null}.
protected String
getDescription(MBeanOperationInfo operation, MBeanParameterInfo parameter, int sequenceNo)
Override this method so as to prevent the description of an operation's parameter being @code{null}.
MBeanInfo
getMBeanInfo()
protected String
getParameterName(MBeanConstructorInfo constructor, MBeanParameterInfo parameter, int sequenceNo)
Override this method so as to prevent the name of a constructor's parameter being @code{null}.
protected String
getParameterName(MBeanOperationInfo operation, MBeanParameterInfo parameter, int sequenceNo)
Override this method so as to prevent the name of an operation's parameter being @code{null}.

Methods inherited from class javax.management.StandardMBean

cacheMBeanInfo, getAttribute, getAttributes, getCachedMBeanInfo, getClassName, getConstructors, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getImpact, getImplementation, getImplementationClass, getMBeanInfo, getMBeanInterface, getParameterName, getParameterName, invoke, setAttribute, setAttributes, setImplementation

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

BeanImpl

protected BeanImpl(Class<T> iface)
            throws NotCompliantMBeanException
Constructs a new BeanImpl.
Parameters:
iface - the bean interface being implemented.
Throws:
NotCompliantMBeanException - if this class doesn't implement the interface or a method appears in the interface that doesn't comply with the naming conventions.

Method Details

cacheMBeanInfo

protected void cacheMBeanInfo(MBeanInfo info)
Overrides:
cacheMBeanInfo in interface StandardMBean

checkControlPermissions

protected void checkControlPermissions()

checkMonitorPermissions

protected void checkMonitorPermissions()

getAttribute

public Object getAttribute(String attribute)
            throws AttributeNotFoundException,
                   MBeanException,
                   ReflectionException
Specified by:
getAttribute in interface DynamicMBean
Overrides:
getAttribute in interface StandardMBean

getCachedMBeanInfo

protected MBeanInfo getCachedMBeanInfo()
Overrides:
getCachedMBeanInfo in interface StandardMBean

getDescription

protected String getDescription(MBeanConstructorInfo constructor,
                                MBeanParameterInfo parameter,
                                int sequenceNo)
Override this method so as to prevent the description of a constructor's parameter being @code{null}. Open MBeans can not have @code{null} descriptions, but one will occur as the names of parameters aren't stored for reflection.
Overrides:
getDescription in interface StandardMBean
Parameters:
constructor - the constructor whose parameter needs describing.
parameter - the parameter to be described.
sequenceNo - the number of the parameter to describe.
Returns:
a description of the constructor's parameter.

getDescription

protected String getDescription(MBeanOperationInfo operation,
                                MBeanParameterInfo parameter,
                                int sequenceNo)
Override this method so as to prevent the description of an operation's parameter being @code{null}. Open MBeans can not have @code{null} descriptions, but one will occur as the names of parameters aren't stored for reflection.
Overrides:
getDescription in interface StandardMBean
Parameters:
operation - the operation whose parameter needs describing.
parameter - the parameter to be described.
sequenceNo - the number of the parameter to describe.
Returns:
a description of the operation's parameter.

getMBeanInfo

public MBeanInfo getMBeanInfo()
Specified by:
getMBeanInfo in interface DynamicMBean
Overrides:
getMBeanInfo in interface StandardMBean

getParameterName

protected String getParameterName(MBeanConstructorInfo constructor,
                                  MBeanParameterInfo parameter,
                                  int sequenceNo)
Override this method so as to prevent the name of a constructor's parameter being @code{null}. Open MBeans can not have @code{null} names, but one will occur as the names of parameters aren't stored for reflection.
Overrides:
getParameterName in interface StandardMBean
Parameters:
constructor - the constructor whose parameter needs a name.
parameter - the parameter to be named.
sequenceNo - the number of the parameter to name.
Returns:
a description of the constructor's parameter.

getParameterName

protected String getParameterName(MBeanOperationInfo operation,
                                  MBeanParameterInfo parameter,
                                  int sequenceNo)
Override this method so as to prevent the name of an operation's parameter being @code{null}. Open MBeans can not have @code{null} names, but one will occur as the names of parameters aren't stored for reflection.
Overrides:
getParameterName in interface StandardMBean
Parameters:
operation - the operation whose parameter needs a name.
parameter - the parameter to be named.
sequenceNo - the number of the parameter to name.
Returns:
a description of the operation's parameter.

BeanImpl.java - A common superclass for bean implementations. Copyright (C) 2006 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.