OpenMBeanAttributeInfo (Java SE 26 & JDK 26)
Description: declaration: module: java.management, package: javax.management.openmbean, interface: OpenMBeanAttributeInfo
Keywords: javax.management.openmbean.OpenMBeanAttributeInfo interface

# Interface OpenMBeanAttributeInfo

All Superinterfaces:
  `OpenMBeanParameterInfo`

All Known Implementing Classes:
  `OpenMBeanAttributeInfoSupport`

public interface OpenMBeanAttributeInfo extends OpenMBeanParameterInfo

Describes an attribute of an open MBean.

This interface declares the same methods as the class `MBeanAttributeInfo`. A class implementing this interface (typically `OpenMBeanAttributeInfoSupport`) should extend `MBeanAttributeInfo`.

Since:
  1.5

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  Compares the specified obj parameter with this `OpenMBeanAttributeInfo` instance for equality.
  `int`
  `hashCode()`
  Returns the hash code value for this `OpenMBeanAttributeInfo` instance.
  `boolean`
  `isIs()`
  Returns `true` if the attribute described by this `OpenMBeanAttributeInfo` instance is accessed through a `isXXX` getter (applies only to `boolean` and `Boolean` values), `false` otherwise.
  `boolean`
  `isReadable()`
  Returns `true` if the attribute described by this `OpenMBeanAttributeInfo` instance is readable, `false` otherwise.
  `boolean`
  `isWritable()`
  Returns `true` if the attribute described by this `OpenMBeanAttributeInfo` instance is writable, `false` otherwise.
  `String`
  `toString()`
  Returns a string representation of this `OpenMBeanAttributeInfo` instance.

  ### Methods declared in interface OpenMBeanParameterInfo

  `getDefaultValue, getDescription, getLegalValues, getMaxValue, getMinValue, getName, getOpenType, hasDefaultValue, hasLegalValues, hasMaxValue, hasMinValue, isValue`
  Modifier and Type
  Method
  Description
  `Object`
  `getDefaultValue()`
  Returns the default value for this parameter, if it has one, or `null` otherwise.
  `String`
  `getDescription()`
  Returns a human readable description of the parameter described by this `OpenMBeanParameterInfo` instance.
  `Set<?>`
  `getLegalValues()`
  Returns the set of legal values for this parameter, if it has one, or `null` otherwise.
  `Comparable<?>`
  `getMaxValue()`
  Returns the maximal value for this parameter, if it has one, or `null` otherwise.
  `Comparable<?>`
  `getMinValue()`
  Returns the minimal value for this parameter, if it has one, or `null` otherwise.
  `String`
  `getName()`
  Returns the name of the parameter described by this `OpenMBeanParameterInfo` instance.
  `OpenType<?>`
  `getOpenType()`
  Returns the open type of the values of the parameter described by this `OpenMBeanParameterInfo` instance.
  `boolean`
  `hasDefaultValue()`
  Returns `true` if this parameter has a specified default value, or `false` otherwise.
  `boolean`
  `hasLegalValues()`
  Returns `true` if this parameter has a specified set of legal values, or `false` otherwise.
  `boolean`
  `hasMaxValue()`
  Returns `true` if this parameter has a specified maximal value, or `false` otherwise.
  `boolean`
  `hasMinValue()`
  Returns `true` if this parameter has a specified minimal value, or `false` otherwise.
  `boolean`
  `isValue(Object obj)`
  Tests whether obj is a valid value for the parameter described by this `OpenMBeanParameterInfo` instance.

- ## Method Details

  - ### isReadable

    boolean isReadable()
    Returns `true` if the attribute described by this `OpenMBeanAttributeInfo` instance is readable, `false` otherwise.
    Returns:
      true if the attribute is readable.

  - ### isWritable

    boolean isWritable()
    Returns `true` if the attribute described by this `OpenMBeanAttributeInfo` instance is writable, `false` otherwise.
    Returns:
      true if the attribute is writable.

  - ### isIs

    boolean isIs()
    Returns `true` if the attribute described by this `OpenMBeanAttributeInfo` instance is accessed through a `isXXX` getter (applies only to `boolean` and `Boolean` values), `false` otherwise.
    Returns:
      true if the attribute is accessed through `isXXX`.

  - ### equals

    boolean equals(Object obj)
    Compares the specified obj parameter with this `OpenMBeanAttributeInfo` instance for equality.

    Returns `true` if and only if all of the following statements are true:

    - obj is non null,
    - obj also implements the `OpenMBeanAttributeInfo` interface,
    - their names are equal
    - their open types are equal
    - their access properties (isReadable, isWritable and isIs) are equal
    - their default, min, max and legal values are equal.
    This ensures that this `equals` method works properly for obj parameters which are different implementations of the `OpenMBeanAttributeInfo` interface.
    Specified by:
      `equals` in interface `OpenMBeanParameterInfo`
    Overrides:
      `equals` in class `Object`
    Parameters:
      `obj` - the object to be compared for equality with this `OpenMBeanAttributeInfo` instance;
    Returns:
      `true` if the specified object is equal to this `OpenMBeanAttributeInfo` instance.
    See Also:
      - `Object.hashCode()`
      - `HashMap`

  - ### hashCode

    int hashCode()
    Returns the hash code value for this `OpenMBeanAttributeInfo` instance.

    The hash code of an `OpenMBeanAttributeInfo` instance is the sum of the hash codes of all elements of information used in `equals` comparisons (ie: its name, its open type, and its default, min, max and legal values).

    This ensures that `t1.equals(t2)` implies that `t1.hashCode()==t2.hashCode()` for any two `OpenMBeanAttributeInfo` instances `t1` and `t2`, as required by the general contract of the method `Object.hashCode()`.

    Specified by:
      `hashCode` in interface `OpenMBeanParameterInfo`
    Overrides:
      `hashCode` in class `Object`
    Returns:
      the hash code value for this `OpenMBeanAttributeInfo` instance
    See Also:
      - `Object.equals(java.lang.Object)`
      - `System.identityHashCode(Object)`

  - ### toString

    String toString()
    Returns a string representation of this `OpenMBeanAttributeInfo` instance.

    The string representation consists of the name of this class (ie `javax.management.openmbean.OpenMBeanAttributeInfo`), the string representation of the name and open type of the described attribute, and the string representation of its default, min, max and legal values.

    Specified by:
      `toString` in interface `OpenMBeanParameterInfo`
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of this `OpenMBeanAttributeInfo` instance