compact3
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 inherited from class javax.management.MBeanFeatureInfo

      `description, name`

  - ### Constructor Summary

    Constructors
    Constructor and 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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 inherited from class javax.management.MBeanParameterInfo

      `clone, getType`

    - ### Methods inherited from class javax.management.MBeanFeatureInfo

      `getDescription, getDescriptor, getName`

    - ### Methods inherited from class java.lang.Object

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

    - ### Methods inherited from interface javax.management.openmbean.OpenMBeanParameterInfo

      `getDescription, getName`

- - ### Constructor Detail

    - #### 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 Detail

    - #### 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 `MBeanParameterInfo`
      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 `MBeanParameterInfo`
      Returns:
        a string representation of this `OpenMBeanParameterInfoSupport` instance.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.