Module java.management
Package javax.management.openmbean

# Class OpenMBeanParameterInfoSupport

java.lang.Object
javax.management.MBeanFeatureInfo
javax.management.MBeanParameterInfo
javax.management.openmbean.OpenMBeanParameterInfoSupport

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `DescriptorRead`, `OpenMBeanParameterInfo`

public class OpenMBeanParameterInfoSupport extends MBeanParameterInfo implements OpenMBeanParameterInfo
Describes a parameter used in one or more operations or constructors of an open MBean.

Since:
  1.5
See Also:
  - Serialized Form

## Field Summary

### Fields declared in class javax.management.MBeanFeatureInfo

`description, name`

## Constructor Summary

Constructors
Constructor
Description
`OpenMBeanParameterInfoSupport(String name, String description, OpenType<?> openType)`
Constructs an `OpenMBeanParameterInfoSupport` instance, which describes the parameter used in one or more operations or constructors of a class of open MBeans, with the specified `name`, `openType` and `description`.
`OpenMBeanParameterInfoSupport(String name, String description, OpenType<?> openType, Descriptor descriptor)`
Constructs an `OpenMBeanParameterInfoSupport` instance, which describes the parameter used in one or more operations or constructors of a class of open MBeans, with the specified `name`, `openType`, `description`, and `descriptor`.
`OpenMBeanParameterInfoSupport(String name, String description, OpenType<T> openType, T defaultValue)`
Constructs an `OpenMBeanParameterInfoSupport` instance, which describes the parameter used in one or more operations or constructors of a class of open MBeans, with the specified `name`, `openType`, `description` and `defaultValue`.
`OpenMBeanParameterInfoSupport(String name, String description, OpenType<T> openType, T defaultValue, Comparable<T> minValue, Comparable<T> maxValue)`
Constructs an `OpenMBeanParameterInfoSupport` instance, which describes the parameter used in one or more operations or constructors of a class of open MBeans, with the specified `name`, `openType`, `description`, `defaultValue`, `minValue` and `maxValue`.
`OpenMBeanParameterInfoSupport(String name, String description, OpenType<T> openType, T defaultValue, T[] legalValues)`
Constructs an `OpenMBeanParameterInfoSupport` instance, which describes the parameter used in one or more operations or constructors of a class of open MBeans, with the specified `name`, `openType`, `description`, `defaultValue` and `legalValues`.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
Compares the specified `obj` parameter with this `OpenMBeanParameterInfoSupport` instance for equality.
`Object`
`getDefaultValue()`
Returns the default value for the parameter described by this `OpenMBeanParameterInfoSupport` instance, if specified, or `null` otherwise.
`Set<?>`
`getLegalValues()`
Returns an unmodifiable Set of legal values for the parameter described by this `OpenMBeanParameterInfoSupport` instance, if specified, or `null` otherwise.
`Comparable<?>`
`getMaxValue()`
Returns the maximal value for the parameter described by this `OpenMBeanParameterInfoSupport` instance, if specified, or `null` otherwise.
`Comparable<?>`
`getMinValue()`
Returns the minimal value for the parameter described by this `OpenMBeanParameterInfoSupport` instance, if specified, or `null` otherwise.
`OpenType<?>`
`getOpenType()`
Returns the open type for the values of the parameter described by this `OpenMBeanParameterInfoSupport` instance.
`boolean`
`hasDefaultValue()`
Returns `true` if this `OpenMBeanParameterInfoSupport` instance specifies a non-null default value for the described parameter, `false` otherwise.
`int`
`hashCode()`
Returns the hash code value for this `OpenMBeanParameterInfoSupport` instance.
`boolean`
`hasLegalValues()`
Returns `true` if this `OpenMBeanParameterInfoSupport` instance specifies a non-null set of legal values for the described parameter, `false` otherwise.
`boolean`
`hasMaxValue()`
Returns `true` if this `OpenMBeanParameterInfoSupport` instance specifies a non-null maximal value for the described parameter, `false` otherwise.
`boolean`
`hasMinValue()`
Returns `true` if this `OpenMBeanParameterInfoSupport` instance specifies a non-null minimal value for the described parameter, `false` otherwise.
`boolean`
`isValue(Object obj)`
Tests whether `obj` is a valid value for the parameter described by this `OpenMBeanParameterInfo` instance.
`String`
`toString()`
Returns a string representation of this `OpenMBeanParameterInfoSupport` instance.

### Methods declared in class javax.management.MBeanParameterInfo

`clone, getType`

### Methods declared in class javax.management.MBeanFeatureInfo

`getDescription, getDescriptor, getName`

### Methods declared in class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods declared in interface javax.management.openmbean.OpenMBeanParameterInfo

`getDescription, getName`

## Constructor Details

### OpenMBeanParameterInfoSupport

public OpenMBeanParameterInfoSupport(String name, String description, OpenType<?> openType)
Constructs an `OpenMBeanParameterInfoSupport` instance, which describes the parameter used in one or more operations or constructors of a class of open MBeans, with the specified `name`, `openType` and `description`.

Parameters:
  `name` - cannot be a null or empty string.
  `description` - cannot be a null or empty string.
  `openType` - cannot be null.
Throws:
  `IllegalArgumentException` - if `name` or `description` are null or empty string, or `openType` is null.

### OpenMBeanParameterInfoSupport

public OpenMBeanParameterInfoSupport(String name, String description, OpenType<?> openType, Descriptor descriptor)
Constructs an `OpenMBeanParameterInfoSupport` instance, which describes the parameter used in one or more operations or constructors of a class of open MBeans, with the specified `name`, `openType`, `description`, and `descriptor`.

The `descriptor` can contain entries that will define the values returned by certain methods of this class, as explained in the package description.

Parameters:
  `name` - cannot be a null or empty string.
  `description` - cannot be a null or empty string.
  `openType` - cannot be null.
  `descriptor` - The descriptor for the parameter. This may be null which is equivalent to an empty descriptor.
Throws:
  `IllegalArgumentException` - if `name` or `description` are null or empty string, or `openType` is null, or the descriptor entries are invalid as described in the package description.
Since:
  1.6

### OpenMBeanParameterInfoSupport

public OpenMBeanParameterInfoSupport(String name, String description, OpenType<T> openType, T defaultValue) throws OpenDataException
Constructs an `OpenMBeanParameterInfoSupport` instance, which describes the parameter used in one or more operations or constructors of a class of open MBeans, with the specified `name`, `openType`, `description` and `defaultValue`.

Type Parameters:
  `T` - allows the compiler to check that the `defaultValue`, if non-null, has the correct Java type for the given `openType`.
Parameters:
  `name` - cannot be a null or empty string.
  `description` - cannot be a null or empty string.
  `openType` - cannot be null.
  `defaultValue` - must be a valid value for the `openType` specified for this parameter; default value not supported for `ArrayType` and `TabularType`; can be null, in which case it means that no default value is set.
Throws:
  `IllegalArgumentException` - if `name` or `description` are null or empty string, or `openType` is null.
  `OpenDataException` - if `defaultValue` is not a valid value for the specified `openType`, or `defaultValue` is non null and `openType` is an `ArrayType` or a `TabularType`.

### OpenMBeanParameterInfoSupport

public OpenMBeanParameterInfoSupport(String name, String description, OpenType<T> openType, T defaultValue, T[] legalValues) throws OpenDataException

Constructs an `OpenMBeanParameterInfoSupport` instance, which describes the parameter used in one or more operations or constructors of a class of open MBeans, with the specified `name`, `openType`, `description`, `defaultValue` and `legalValues`.

The contents of `legalValues` are copied, so subsequent modifications of the array referenced by `legalValues` have no impact on this `OpenMBeanParameterInfoSupport` instance.

Type Parameters:
  `T` - allows the compiler to check that the `defaultValue` and `legalValues`, if non-null, have the correct Java type for the given `openType`.
Parameters:
  `name` - cannot be a null or empty string.
  `description` - cannot be a null or empty string.
  `openType` - cannot be null.
  `defaultValue` - must be a valid value for the `openType` specified for this parameter; default value not supported for `ArrayType` and `TabularType`; can be null, in which case it means that no default value is set.
  `legalValues` - each contained value must be valid for the `openType` specified for this parameter; legal values not supported for `ArrayType` and `TabularType`; can be null or empty.
Throws:
  `IllegalArgumentException` - if `name` or `description` are null or empty string, or `openType` is null.
  `OpenDataException` - if `defaultValue` is not a valid value for the specified `openType`, or one value in `legalValues` is not valid for the specified `openType`, or `defaultValue` is non null and `openType` is an `ArrayType` or a `TabularType`, or `legalValues` is non null and non empty and `openType` is an `ArrayType` or a `TabularType`, or `legalValues` is non null and non empty and `defaultValue` is not contained in `legalValues`.

### OpenMBeanParameterInfoSupport

public OpenMBeanParameterInfoSupport(String name, String description, OpenType<T> openType, T defaultValue, Comparable<T> minValue, Comparable<T> maxValue) throws OpenDataException
Constructs an `OpenMBeanParameterInfoSupport` instance, which describes the parameter used in one or more operations or constructors of a class of open MBeans, with the specified `name`, `openType`, `description`, `defaultValue`, `minValue` and `maxValue`. It is possible to specify minimal and maximal values only for an open type whose values are `Comparable`.

Type Parameters:
  `T` - allows the compiler to check that the `defaultValue`, `minValue`, and `maxValue`, if non-null, have the correct Java type for the given `openType`.
Parameters:
  `name` - cannot be a null or empty string.
  `description` - cannot be a null or empty string.
  `openType` - cannot be null.
  `defaultValue` - must be a valid value for the `openType` specified for this parameter; default value not supported for `ArrayType` and `TabularType`; can be null, in which case it means that no default value is set.
  `minValue` - must be valid for the `openType` specified for this parameter; can be null, in which case it means that no minimal value is set.
  `maxValue` - must be valid for the `openType` specified for this parameter; can be null, in which case it means that no maximal value is set.
Throws:
  `IllegalArgumentException` - if `name` or `description` are null or empty string, or `openType` is null.
  `OpenDataException` - if `defaultValue`, `minValue` or `maxValue` is not a valid value for the specified `openType`, or `defaultValue` is non null and `openType` is an `ArrayType` or a `TabularType`, or both `minValue` and `maxValue` are non-null and `minValue.compareTo(maxValue) > 0` is `true`, or both `defaultValue` and `minValue` are non-null and `minValue.compareTo(defaultValue) > 0` is `true`, or both `defaultValue` and `maxValue` are non-null and `defaultValue.compareTo(maxValue) > 0` is `true`.

## Method Details

### getOpenType

public OpenType<?> getOpenType()
Returns the open type for the values of the parameter described by this `OpenMBeanParameterInfoSupport` instance.

Specified by:
  `getOpenType` in interface `OpenMBeanParameterInfo`
Returns:
  the open type.

### getDefaultValue

public Object getDefaultValue()
Returns the default value for the parameter described by this `OpenMBeanParameterInfoSupport` instance, if specified, or `null` otherwise.

Specified by:
  `getDefaultValue` in interface `OpenMBeanParameterInfo`
Returns:
  the default value.

### getLegalValues

public Set<?> getLegalValues()
Returns an unmodifiable Set of legal values for the parameter described by this `OpenMBeanParameterInfoSupport` instance, if specified, or `null` otherwise.

Specified by:
  `getLegalValues` in interface `OpenMBeanParameterInfo`
Returns:
  the set of legal values.

### getMinValue

public Comparable<?> getMinValue()
Returns the minimal value for the parameter described by this `OpenMBeanParameterInfoSupport` instance, if specified, or `null` otherwise.

Specified by:
  `getMinValue` in interface `OpenMBeanParameterInfo`
Returns:
  the minimum value.

### getMaxValue

public Comparable<?> getMaxValue()
Returns the maximal value for the parameter described by this `OpenMBeanParameterInfoSupport` instance, if specified, or `null` otherwise.

Specified by:
  `getMaxValue` in interface `OpenMBeanParameterInfo`
Returns:
  the maximum value.

### hasDefaultValue

public boolean hasDefaultValue()
Returns `true` if this `OpenMBeanParameterInfoSupport` instance specifies a non-null default value for the described parameter, `false` otherwise.

Specified by:
  `hasDefaultValue` in interface `OpenMBeanParameterInfo`
Returns:
  true if there is a default value.

### hasLegalValues

public boolean hasLegalValues()
Returns `true` if this `OpenMBeanParameterInfoSupport` instance specifies a non-null set of legal values for the described parameter, `false` otherwise.

Specified by:
  `hasLegalValues` in interface `OpenMBeanParameterInfo`
Returns:
  true if there is a set of legal values.

### hasMinValue

public boolean hasMinValue()
Returns `true` if this `OpenMBeanParameterInfoSupport` instance specifies a non-null minimal value for the described parameter, `false` otherwise.

Specified by:
  `hasMinValue` in interface `OpenMBeanParameterInfo`
Returns:
  true if there is a minimum value.

### hasMaxValue

public boolean hasMaxValue()
Returns `true` if this `OpenMBeanParameterInfoSupport` instance specifies a non-null maximal value for the described parameter, `false` otherwise.

Specified by:
  `hasMaxValue` in interface `OpenMBeanParameterInfo`
Returns:
  true if there is a maximum value.

### isValue

public boolean isValue(Object obj)
Tests whether `obj` is a valid value for the parameter described by this `OpenMBeanParameterInfo` instance.

Specified by:
  `isValue` in interface `OpenMBeanParameterInfo`
Parameters:
  `obj` - the object to be tested.
Returns:
  `true` if `obj` is a valid value for the parameter described by this `OpenMBeanParameterInfo` instance, `false` otherwise.

### equals

public boolean equals(Object obj)

Compares the specified `obj` parameter with this `OpenMBeanParameterInfoSupport` instance for equality.

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

- `obj` is non null,
- `obj` also implements the `OpenMBeanParameterInfo` interface,
- their names are equal
- their open types 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 `OpenMBeanParameterInfo` interface.

If `obj` also implements `DescriptorRead`, then its `getDescriptor()` method must also return the same value as for this object.

Specified by:
  `equals` in interface `OpenMBeanParameterInfo`
Overrides:
  `equals` in class `MBeanParameterInfo`
Parameters:
  `obj` - the object to be compared for equality with this `OpenMBeanParameterInfoSupport` instance.
Returns:
  `true` if the specified object is equal to this `OpenMBeanParameterInfoSupport` instance.
See Also:
  - `Object.hashCode()`
  - `HashMap`

### hashCode

public int hashCode()

Returns the hash code value for this `OpenMBeanParameterInfoSupport` instance.

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

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

However, note that another instance of a class implementing the `OpenMBeanParameterInfo` interface may be equal to this `OpenMBeanParameterInfoSupport` instance as defined by `equals(java.lang.Object)`, but may have a different hash code if it is calculated differently.

As `OpenMBeanParameterInfoSupport` instances are immutable, the hash code for this instance is calculated once, on the first call to `hashCode`, and then the same value is returned for subsequent calls.

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

### toString

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

The string representation consists of the name of this class (i.e. `javax.management.openmbean.OpenMBeanParameterInfoSupport`), the string representation of the name and open type of the described parameter, the string representation of its default, min, max and legal values and the string representation of its descriptor.

As `OpenMBeanParameterInfoSupport` instances are immutable, the string representation for this instance is calculated once, on the first call to `toString`, and then the same value is returned for subsequent calls.

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