Package org.springframework.jmx.export.metadata

# Interface JmxAttributeSource

All Known Implementing Classes:
  `AnnotationJmxAttributeSource`

public interface JmxAttributeSource
Interface used by the `MetadataMBeanInfoAssembler` to read source-level metadata from a managed resource's class.

Since:
  1.2
Author:
  Rob Harrop, Jennifer Hickey
See Also:
  - `MetadataMBeanInfoAssembler.setAttributeSource(org.springframework.jmx.export.metadata.JmxAttributeSource)`
  - `MBeanExporter.setAssembler(org.springframework.jmx.export.assembler.MBeanInfoAssembler)`

## Method Summary

Modifier and Type
Method
Description
`ManagedAttribute`
`getManagedAttribute(Method method)`
Implementations should return an instance of `ManagedAttribute` if the supplied `Method` has the corresponding metadata.
`ManagedMetric`
`getManagedMetric(Method method)`
Implementations should return an instance of `ManagedMetric` if the supplied `Method` has the corresponding metadata.
`ManagedNotification[]`
`getManagedNotifications(Class<?> clazz)`
Implementations should return an array of `ManagedNotifications` if the supplied `Class` has the corresponding metadata.
`ManagedOperation`
`getManagedOperation(Method method)`
Implementations should return an instance of `ManagedOperation` if the supplied `Method` has the corresponding metadata.
`ManagedOperationParameter[]`
`getManagedOperationParameters(Method method)`
Implementations should return an array of `ManagedOperationParameter` if the supplied `Method` has the corresponding metadata.
`ManagedResource`
`getManagedResource(Class<?> clazz)`
Implementations should return an instance of `ManagedResource` if the supplied `Class` has the appropriate metadata.

## Method Details

### getManagedResource

@Nullable ManagedResource getManagedResource(Class<?> clazz) throws InvalidMetadataException
Implementations should return an instance of `ManagedResource` if the supplied `Class` has the appropriate metadata. Otherwise, should return `null`.

Parameters:
  `clazz` - the class to read the attribute data from
Returns:
  the attribute, or `null` if not found
Throws:
  `InvalidMetadataException` - in case of invalid attributes

### getManagedAttribute

@Nullable ManagedAttribute getManagedAttribute(Method method) throws InvalidMetadataException
Implementations should return an instance of `ManagedAttribute` if the supplied `Method` has the corresponding metadata. Otherwise, should return `null`.

Parameters:
  `method` - the method to read the attribute data from
Returns:
  the attribute, or `null` if not found
Throws:
  `InvalidMetadataException` - in case of invalid attributes

### getManagedMetric

@Nullable ManagedMetric getManagedMetric(Method method) throws InvalidMetadataException
Implementations should return an instance of `ManagedMetric` if the supplied `Method` has the corresponding metadata. Otherwise, should return `null`.

Parameters:
  `method` - the method to read the attribute data from
Returns:
  the metric, or `null` if not found
Throws:
  `InvalidMetadataException` - in case of invalid attributes

### getManagedOperation

@Nullable ManagedOperation getManagedOperation(Method method) throws InvalidMetadataException
Implementations should return an instance of `ManagedOperation` if the supplied `Method` has the corresponding metadata. Otherwise, should return `null`.

Parameters:
  `method` - the method to read the attribute data from
Returns:
  the attribute, or `null` if not found
Throws:
  `InvalidMetadataException` - in case of invalid attributes

### getManagedOperationParameters

ManagedOperationParameter[] getManagedOperationParameters(Method method) throws InvalidMetadataException
Implementations should return an array of `ManagedOperationParameter` if the supplied `Method` has the corresponding metadata. Otherwise, should return an empty array if no metadata is found.

Parameters:
  `method` - the `Method` to read the metadata from
Returns:
  the parameter information.
Throws:
  `InvalidMetadataException` - in the case of invalid attributes.

### getManagedNotifications

ManagedNotification[] getManagedNotifications(Class<?> clazz) throws InvalidMetadataException
Implementations should return an array of `ManagedNotifications` if the supplied `Class` has the corresponding metadata. Otherwise, should return an empty array.

Parameters:
  `clazz` - the `Class` to read the metadata from
Returns:
  the notification information
Throws:
  `InvalidMetadataException` - in the case of invalid metadata