Module java.management
Package javax.management

# Interface DynamicMBean

All Known Subinterfaces:
  `DiagnosticCommandMBean`, `ModelMBean`

All Known Implementing Classes:
  `RequiredModelMBean`, `StandardEmitterMBean`, `StandardMBean`

public interface DynamicMBean
Defines the methods that should be implemented by a Dynamic MBean (MBean that exposes a dynamic management interface).

Since:
  1.5

## Method Summary

Modifier and Type
Method
Description
`Object`
`getAttribute(String attribute)`
Obtain the value of a specific attribute of the Dynamic MBean.
`AttributeList`
`getAttributes(String[] attributes)`
Get the values of several attributes of the Dynamic MBean.
`MBeanInfo`
`getMBeanInfo()`
Provides the exposed attributes and actions of the Dynamic MBean using an MBeanInfo object.
`Object`
`invoke(String actionName, Object[] params, String[] signature)`
Allows an action to be invoked on the Dynamic MBean.
`void`
`setAttribute(Attribute attribute)`
Set the value of a specific attribute of the Dynamic MBean.
`AttributeList`
`setAttributes(AttributeList attributes)`
Sets the values of several attributes of the Dynamic MBean.

## Method Details

### getAttribute

Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException
Obtain the value of a specific attribute of the Dynamic MBean.

Parameters:
  `attribute` - The name of the attribute to be retrieved
Returns:
  The value of the attribute retrieved.
Throws:
  `AttributeNotFoundException` - if specified attribute does not exist or cannot be retrieved
  `MBeanException` - Wraps a `java.lang.Exception` thrown by the MBean's getter.
  `ReflectionException` - Wraps a `java.lang.Exception` thrown while trying to invoke the getter.
See Also:
  - `setAttribute(javax.management.Attribute)`

### setAttribute

void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException
Set the value of a specific attribute of the Dynamic MBean.

Parameters:
  `attribute` - The identification of the attribute to be set and the value it is to be set to.
Throws:
  `AttributeNotFoundException` - if specified attribute does not exist or cannot be retrieved
  `InvalidAttributeValueException` - if value specified is not valid for the attribute
  `MBeanException` - Wraps a `java.lang.Exception` thrown by the MBean's setter.
  `ReflectionException` - Wraps a `java.lang.Exception` thrown while trying to invoke the MBean's setter.
See Also:
  - `getAttribute(java.lang.String)`

### getAttributes

AttributeList getAttributes(String[] attributes)
Get the values of several attributes of the Dynamic MBean.

Parameters:
  `attributes` - A list of the attributes to be retrieved.
Returns:
  The list of attributes retrieved.
See Also:
  - `setAttributes(javax.management.AttributeList)`

### setAttributes

AttributeList setAttributes(AttributeList attributes)
Sets the values of several attributes of the Dynamic MBean.

Parameters:
  `attributes` - A list of attributes: The identification of the attributes to be set and the values they are to be set to.
Returns:
  The list of attributes that were set, with their new values.
See Also:
  - `getAttributes(java.lang.String[])`

### invoke

Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException
Allows an action to be invoked on the Dynamic MBean.

Parameters:
  `actionName` - The name of the action to be invoked.
  `params` - An array containing the parameters to be set when the action is invoked.
  `signature` - An array containing the signature of the action. The class objects will be loaded through the same class loader as the one used for loading the MBean on which the action is invoked.
Returns:
  The object returned by the action, which represents the result of invoking the action on the MBean specified.
Throws:
  `MBeanException` - Wraps a `java.lang.Exception` thrown by the MBean's invoked method.
  `ReflectionException` - Wraps a `java.lang.Exception` thrown while trying to invoke the method

### getMBeanInfo

MBeanInfo getMBeanInfo()
Provides the exposed attributes and actions of the Dynamic MBean using an MBeanInfo object.

Returns:
  An instance of `MBeanInfo` allowing all attributes and actions exposed by this Dynamic MBean to be retrieved.