Package org.apache.tomcat.util.modeler

## Class ManagedBean

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

All Implemented Interfaces:
  `java.io.Serializable`

    public class ManagedBean
    extends java.lang.Object
    implements java.io.Serializable

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

Author:
  Craig R. McClanahan
See Also:
  Serialized Form

### Field Summary

Fields
`protected java.lang.String` `className`
`protected java.lang.String` `description`
`protected java.lang.String` `domain`
`protected java.lang.String` `group`
`protected java.lang.String` `name`
`protected java.lang.String` `type`

### Constructor Summary

Constructors
`ManagedBean()` Constructor.

### Method Summary

All Methods Instance Methods Concrete 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.
`javax.management.DynamicMBean` `createMBean​(java.lang.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()`
`java.lang.String` `getClassName()` The fully qualified name of the Java class of the MBean described by this descriptor.
`java.lang.String` `getDescription()`
`java.lang.String` `getDomain()`
`java.lang.String` `getGroup()`
`java.lang.reflect.Method` `getInvoke​(java.lang.String aname, java.lang.Object[] params, java.lang.String[] signature, BaseModelMBean bean, java.lang.Object resource)`
`java.lang.String` `getName()`
`NotificationInfo[]` `getNotifications()`
`OperationInfo[]` `getOperations()`
`java.lang.reflect.Method` `getSetter​(java.lang.String aname, BaseModelMBean bean, java.lang.Object resource)`
`java.lang.String` `getType()`
`void` `setClassName​(java.lang.String className)`
`void` `setDescription​(java.lang.String description)`
`void` `setDomain​(java.lang.String domain)`
`void` `setGroup​(java.lang.String group)`
`void` `setName​(java.lang.String name)`
`void` `setType​(java.lang.String type)`
`java.lang.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 java.lang.String className

#### description

    protected java.lang.String description

#### domain

    protected java.lang.String domain

#### group

    protected java.lang.String group

#### name

    protected java.lang.String name

#### type

    protected java.lang.String type

### Constructor Detail

#### ManagedBean

    public ManagedBean()

Constructor. Will add default attributes.

### Method Detail

#### getAttributes

    public AttributeInfo[] getAttributes()

Returns:
  the collection of attributes for this MBean.

#### getClassName

    public java.lang.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.

Returns:
  the class name

#### setClassName

    public void setClassName​(java.lang.String className)

#### getDescription

    public java.lang.String getDescription()

Returns:
  the human-readable description of this MBean.

#### setDescription

    public void setDescription​(java.lang.String description)

#### getDomain

    public java.lang.String getDomain()

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

#### setDomain

    public void setDomain​(java.lang.String domain)

#### getGroup

    public java.lang.String getGroup()

Returns:
  the (optional) group to which this MBean belongs.

#### setGroup

    public void setGroup​(java.lang.String group)

#### getName

    public java.lang.String getName()

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

#### setName

    public void setName​(java.lang.String name)

#### getNotifications

    public NotificationInfo[] getNotifications()

Returns:
  the collection of notifications for this MBean.

#### getOperations

    public OperationInfo[] getOperations()

Returns:
  the collection of operations for this MBean.

#### getType

    public java.lang.String getType()

Returns:
  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​(java.lang.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 javax.management.DynamicMBean createMBean​(java.lang.Object instance)
                                              throws javax.management.InstanceNotFoundException,
                                                     javax.management.MBeanException,
                                                     javax.management.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
Returns:
  the MBean
Throws:
  `javax.management.InstanceNotFoundException` - if the managed resource object cannot be found
  `javax.management.MBeanException` - if a problem occurs instantiating the `ModelMBean` instance
  `javax.management.RuntimeOperationsException` - if a JMX runtime error occurs

#### toString

    public java.lang.String toString()

Return a string representation of this managed bean.

Overrides:
  `toString` in class `java.lang.Object`

#### getSetter

    public java.lang.reflect.Method getSetter​(java.lang.String aname,
                                              BaseModelMBean bean,
                                              java.lang.Object resource)
                                       throws javax.management.AttributeNotFoundException,
                                              javax.management.ReflectionException

Throws:
  `javax.management.AttributeNotFoundException`
  `javax.management.ReflectionException`

#### getInvoke

    public java.lang.reflect.Method getInvoke​(java.lang.String aname,
                                              java.lang.Object[] params,
                                              java.lang.String[] signature,
                                              BaseModelMBean bean,
                                              java.lang.Object resource)
                                       throws javax.management.MBeanException,
                                              javax.management.ReflectionException

Throws:
  `javax.management.MBeanException`
  `javax.management.ReflectionException`