Java Reference
In-Depth Information
data types. The
ArrayType
includes the description of the type it contains as well
as its number of elements.
The
CompositeType
and
TabularType
classes are recursive descriptions com-
posed of the other open type descriptive classes. The name and description
inherited from the
OpenType
super class describe the overall structure. Using the
CompositeType
class, you can acquire the open type class for each of its members.
Likewise, the
TabularType
open type class allows you to describe each
Composite-
Type
member it contains.
Using the open type classes, a developer or manager can name and richly
describe all the attributes, operation arguments, and operation return types of
an Open MBean.
A.5 Open MBean metadata
Because an Open MBean implements the
DynamicMBean
interface, it needs to be
able to build its management interface at runtime. (For more information about
this requirement, go back to chapter 5, which discusses the Dynamic MBean.)
Open MBeans provide their management interface by using subclasses of the
MBean metadata objects used by Dynamic MBeans. In fact, Open MBeans are
identifiable by their use of the
OpenMBeanInfo
class as a return value from the
getMBeanInfo()
method of the
DynamicMBean
interface.
Table A.1 lists the metadata interfaces used by the Open MBean.
Table A.1 The metadata interfaces and the parts of a management interface they repre-
sent. These classes are contained in the
OpenMBeanInfo
object that is the return value for
the
getMBeanInfo()
method of the
DynamicMBean
interface.
Metadata interface
Description
Describes arguments passed to methods and constructors
OpenMBeanParameterInfo
Describes any exposed constructors
OpenMBeanConstructorInfo
Describes readable and writable attributes
OpenMBeanAttributeInfo
Describes exposed MBean operations
OpenMBeanOperationInfo
The table does not list any interface for notifications, because Open MBeans use
the
MBeanNotificationInfo
class. This is the one metadata class that does not
have an Open MBean subclass; Open MBeans still use the
MBeanNotification-
Info
class to describe their notifications.
All metadata classes inherit the
getDescription()
method, which they must
implement to return a non-null value. This requirement forces every meta object