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

Module java.management
Package javax.management.openmbean

# Interface OpenMBeanOperationInfo

All Known Implementing Classes:
  `OpenMBeanOperationInfoSupport`

public interface OpenMBeanOperationInfo

Describes an operation of an Open MBean.

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

The `getSignature()` method should return at runtime an array of instances of a subclass of `MBeanParameterInfo` which implements the `OpenMBeanParameterInfo` interface (typically `OpenMBeanParameterInfoSupport`).

Since:
  1.5

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  Compares the specified obj parameter with this `OpenMBeanOperationInfo` instance for equality.
  `String`
  `getDescription()`
  Returns a human readable description of the operation described by this `OpenMBeanOperationInfo` instance.
  `int`
  `getImpact()`
  Returns an `int` constant qualifying the impact of the operation described by this `OpenMBeanOperationInfo` instance.
  `String`
  `getName()`
  Returns the name of the operation described by this `OpenMBeanOperationInfo` instance.
  `OpenType<?>`
  `getReturnOpenType()`
  Returns the open type of the values returned by the operation described by this `OpenMBeanOperationInfo` instance.
  `String`
  `getReturnType()`
  Returns the fully qualified Java class name of the values returned by the operation described by this `OpenMBeanOperationInfo` instance.
  `MBeanParameterInfo[]`
  `getSignature()`
  Returns an array of `OpenMBeanParameterInfo` instances describing each parameter in the signature of the operation described by this `OpenMBeanOperationInfo` instance.
  `int`
  `hashCode()`
  Returns the hash code value for this `OpenMBeanOperationInfo` instance.
  `String`
  `toString()`
  Returns a string representation of this `OpenMBeanOperationInfo` instance.

- ## Method Details

  - ### getDescription

    String getDescription()
    Returns a human readable description of the operation described by this `OpenMBeanOperationInfo` instance.
    Returns:
      the description.

  - ### getName

    String getName()
    Returns the name of the operation described by this `OpenMBeanOperationInfo` instance.
    Returns:
      the name.

  - ### getSignature

    MBeanParameterInfo[] getSignature()
    Returns an array of `OpenMBeanParameterInfo` instances describing each parameter in the signature of the operation described by this `OpenMBeanOperationInfo` instance. Each instance in the returned array should actually be a subclass of `MBeanParameterInfo` which implements the `OpenMBeanParameterInfo` interface (typically `OpenMBeanParameterInfoSupport`).
    Returns:
      the signature.

  - ### getImpact

    int getImpact()
    Returns an `int` constant qualifying the impact of the operation described by this `OpenMBeanOperationInfo` instance. The returned constant is one of `MBeanOperationInfo.INFO`, `MBeanOperationInfo.ACTION`, `MBeanOperationInfo.ACTION_INFO`, or `MBeanOperationInfo.UNKNOWN`.
    Returns:
      the impact code.

  - ### getReturnType

    String getReturnType()
    Returns the fully qualified Java class name of the values returned by the operation described by this `OpenMBeanOperationInfo` instance. This method should return the same value as a call to `getReturnOpenType().getClassName()`.
    Returns:
      the return type.

  - ### getReturnOpenType

    OpenType<?> getReturnOpenType()
    Returns the open type of the values returned by the operation described by this `OpenMBeanOperationInfo` instance.
    Returns:
      the return type.

  - ### equals

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

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

    - obj is non null,
    - obj also implements the `OpenMBeanOperationInfo` interface,
    - their names are equal
    - their signatures are equal
    - their return open types are equal
    - their impacts are equal
    This ensures that this `equals` method works properly for obj parameters which are different implementations of the `OpenMBeanOperationInfo` interface.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `obj` - the object to be compared for equality with this `OpenMBeanOperationInfo` instance;
    Returns:
      `true` if the specified object is equal to this `OpenMBeanOperationInfo` instance.
    See Also:
      - `Object.hashCode()`
      - `HashMap`

  - ### hashCode

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

    The hash code of an `OpenMBeanOperationInfo` instance is the sum of the hash codes of all elements of information used in `equals` comparisons (ie: its name, return open type, impact and signature, where the signature hashCode is calculated by a call to `java.util.Arrays.asList(this.getSignature).hashCode()`).

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

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

  - ### toString

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

    The string representation consists of the name of this class (ie `javax.management.openmbean.OpenMBeanOperationInfo`), and the name, signature, return open type and impact of the described operation.

    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of this `OpenMBeanOperationInfo` instance