JmxAttributeSource (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

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

    Methods
    Modifier and Type | Method and 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 the `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 Detail

    - #### getManagedResource

          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

          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

          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

          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 the `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