org.apache.tomcat.util.modeler

## Class ManagedBean

- java.lang.Object
- - org.apache.tomcat.util.modeler.ManagedBean

All Implemented Interfaces:
  Serializable

    public class ManagedBean
    extends Object
    implements Serializable

Internal configuration information for a managed bean (MBean) descriptor.

Author:
  Craig R. McClanahan
See Also:
  Serialized Form

### Field Summary

Fields
`protected String` `className`
`protected String` `description`
`protected String` `domain`
`protected String` `group`
`protected String` `name`
`protected NotificationInfo[]` `notifications`
`protected String` `type`

### Constructor Summary

Constructors
Constructor and Description
`ManagedBean()` Constructor.

### Method Summary

Methods
`void` `addAttribute(AttributeInfo attribute)` Add a new attribute to the set of attributes for this MBean.
`void` `addNotification(NotificationInfo notification)` Add a new notification to the set of notifications for this MBean.
`void` `addOperation(OperationInfo operation)` Add a new operation to the set of operations for this MBean.
`DynamicMBean` `createMBean()` Create and return a `ModelMBean` that has been preconfigured with the `ModelMBeanInfo` information for this managed bean, but is not associated with any particular managed resource.
`DynamicMBean` `createMBean(Object instance)` Create and return a `ModelMBean` that has been preconfigured with the `ModelMBeanInfo` information for this managed bean, and is associated with the specified managed object instance.
`AttributeInfo[]` `getAttributes()` The collection of attributes for this MBean.
`String` `getClassName()` The fully qualified name of the Java class of the MBean described by this descriptor.
`String` `getDescription()` The human-readable description of this MBean.
`String` `getDomain()` The (optional) `ObjectName` domain in which this MBean should be registered in the MBeanServer.
`String` `getGroup()` The (optional) group to which this MBean belongs.
`Method` `getInvoke(String aname, Object[] params, String[] signature, BaseModelMBean bean, Object resource)`
`String` `getName()` The name of this managed bean, which must be unique among all MBeans managed by a particular MBeans server.
`NotificationInfo[]` `getNotifications()` The collection of notifications for this MBean.
`OperationInfo[]` `getOperations()` The collection of operations for this MBean.
`Method` `getSetter(String aname, BaseModelMBean bean, Object resource)`
`String` `getType()` The fully qualified name of the Java class of the resource implementation class described by the managed bean described by this descriptor.
`void` `setClassName(String className)`
`void` `setDescription(String description)`
`void` `setDomain(String domain)`
`void` `setGroup(String group)`
`void` `setName(String name)`
`void` `setType(String type)`
`String` `toString()` Return a string representation of this managed bean.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### className

    protected String className

#### description

    protected String description

#### domain

    protected String domain

#### group

    protected String group

#### name

    protected String name

#### notifications

    protected NotificationInfo[] notifications

#### type

    protected String type

### Constructor Detail

#### ManagedBean

    public ManagedBean()

Constructor. Will add default attributes.

### Method Detail

#### getAttributes

    public AttributeInfo[] getAttributes()

The collection of attributes for this MBean.

#### getClassName

    public String getClassName()

The fully qualified name of the Java class of the MBean described by this descriptor. If not specified, the standard JMX class (`javax.management.modelmbean.RequiredModeLMBean`) will be utilized.

#### setClassName

    public void setClassName(String className)

#### getDescription

    public String getDescription()

The human-readable description of this MBean.

#### setDescription

    public void setDescription(String description)

#### getDomain

    public String getDomain()

The (optional) `ObjectName` domain in which this MBean should be registered in the MBeanServer.

#### setDomain

    public void setDomain(String domain)

#### getGroup

    public String getGroup()

The (optional) group to which this MBean belongs.

#### setGroup

    public void setGroup(String group)

#### getName

    public String getName()

The name of this managed bean, which must be unique among all MBeans managed by a particular MBeans server.

#### setName

    public void setName(String name)

#### getNotifications

    public NotificationInfo[] getNotifications()

The collection of notifications for this MBean.

#### getOperations

    public OperationInfo[] getOperations()

The collection of operations for this MBean.

#### getType

    public String getType()

The fully qualified name of the Java class of the resource implementation class described by the managed bean described by this descriptor.

#### setType

    public void setType(String type)

#### addAttribute

    public void addAttribute(AttributeInfo attribute)

Add a new attribute to the set of attributes for this MBean.

Parameters:
  `attribute` - The new attribute descriptor

#### addNotification

    public void addNotification(NotificationInfo notification)

Add a new notification to the set of notifications for this MBean.

Parameters:
  `notification` - The new notification descriptor

#### addOperation

    public void addOperation(OperationInfo operation)

Add a new operation to the set of operations for this MBean.

Parameters:
  `operation` - The new operation descriptor

#### createMBean

    public DynamicMBean createMBean()
                             throws InstanceNotFoundException,
                                    MBeanException,
                                    RuntimeOperationsException

Create and return a `ModelMBean` that has been preconfigured with the `ModelMBeanInfo` information for this managed bean, but is not associated with any particular managed resource. The returned `ModelMBean` will NOT have been registered with our `MBeanServer`.

Throws:
  `InstanceNotFoundException` - if the managed resource object cannot be found
  `MBeanException` - if a problem occurs instantiating the `ModelMBean` instance
  `RuntimeOperationsException` - if a JMX runtime error occurs

#### createMBean

    public DynamicMBean createMBean(Object instance)
                             throws InstanceNotFoundException,
                                    MBeanException,
                                    RuntimeOperationsException

Create and return a `ModelMBean` that has been preconfigured with the `ModelMBeanInfo` information for this managed bean, and is associated with the specified managed object instance. The returned `ModelMBean` will NOT have been registered with our `MBeanServer`.

Parameters:
  `instance` - Instanced of the managed object, or `null` for no associated instance
Throws:
  `InstanceNotFoundException` - if the managed resource object cannot be found
  `MBeanException` - if a problem occurs instantiating the `ModelMBean` instance
  `RuntimeOperationsException` - if a JMX runtime error occurs

#### toString

    public String toString()

Return a string representation of this managed bean.

Overrides:
  `toString` in class `Object`

#### getSetter

    public Method getSetter(String aname,
                   BaseModelMBean bean,
                   Object resource)
                     throws AttributeNotFoundException,
                            ReflectionException

Throws:
  `AttributeNotFoundException`
  `ReflectionException`

#### getInvoke

    public Method getInvoke(String aname,
                   Object[] params,
                   String[] signature,
                   BaseModelMBean bean,
                   Object resource)
                     throws MBeanException,
                            ReflectionException

Throws:
  `MBeanException`
  `ReflectionException`