javax.management.openmbean

Class OpenMBeanParameterInfoSupport

public class OpenMBeanParameterInfoSupport extends MBeanParameterInfo implements OpenMBeanParameterInfo

Describes the parameters of a constructor or operation associated with an open management bean.

Since: 1.5

Constructor Summary
OpenMBeanParameterInfoSupport(String name, String desc, OpenType<?> type)
Constructs a new {@link OpenMBeanParameterInfo} using the specified name, description and open type.
<T>OpenMBeanParameterInfoSupport(String name, String desc, OpenType<T> type, T defaultValue)
Constructs a new {@link OpenMBeanParameterInfo} using the specified name, description, open type and default value.
<T>OpenMBeanParameterInfoSupport(String name, String desc, OpenType<T> type, T defaultValue, Comparable<T> minimumValue, Comparable<T> maximumValue)

Constructs a new {@link OpenMBeanParameterInfo} using the specified name, description, open type, default, maximum and minimum values.

<T>OpenMBeanParameterInfoSupport(String name, String desc, OpenType<T> type, T defaultValue, T[] legalValues)

Constructs a new {@link OpenMBeanParameterInfo} using the specified name, description, open type, default value and set of legal values.

Method Summary
booleanequals(Object obj)
Compares this parameter with the supplied object.
ObjectgetDefaultValue()
Returns the default value of this parameter, or null if there is no default value.
Set<?>getLegalValues()
Returns a {@link java.util.Set} enumerating the legal values of this parameter, or null if no such limited set exists for this parameter.
Comparable<?>getMaxValue()
Returns the maximum value of this parameter, or null if there is no maximum.
Comparable<?>getMinValue()
Returns the minimum value of this parameter, or null if there is no minimum.
OpenType<?>getOpenType()
Returns the open type instance which represents the type of this parameter.
booleanhasDefaultValue()
Returns true if this parameter has a default value (i.e. the value is non-null).
inthashCode()

Returns the hashcode of the parameter information as the sum of the hashcodes of the name, open type, default value, maximum value, minimum value and the set of legal values.

booleanhasLegalValues()
Returns true if there is a set of legal values for this parameter (i.e. the value is non-null).
booleanhasMaxValue()
Returns true if there is a maximum value for this parameter (i.e. the value is non-null).
booleanhasMinValue()
Returns true if there is a minimum value for this parameter. (i.e. the value is non-null).
booleanisValue(Object obj)
Returns true if the specified object is a valid value for this parameter.
StringtoString()

Returns a textual representation of this instance.

Constructor Detail

OpenMBeanParameterInfoSupport

public OpenMBeanParameterInfoSupport(String name, String desc, OpenType<?> type)
Constructs a new {@link OpenMBeanParameterInfo} using the specified name, description and open type. None of these values may be null and the name and description may not be equal to the empty string.

Parameters: name the name of the parameter. desc a description of the parameter. type the open type of the parameter.

Throws: IllegalArgumentException if the name, description or open type are null or the name or description are the empty string.

OpenMBeanParameterInfoSupport

public <T> OpenMBeanParameterInfoSupport(String name, String desc, OpenType<T> type, T defaultValue)
Constructs a new {@link OpenMBeanParameterInfo} using the specified name, description, open type and default value. The name, description and open type cannot be null and the name and description may not be equal to the empty string. The default value may be null. If non-null, it must be a valid value of the given open type. Default values are not applicable to the open types, {@link ArrayType} and {@link TabularType}.

Parameters: name the name of the parameter. desc a description of the parameter. type the open type of the parameter. defaultValue the default value of the parameter.

Throws: IllegalArgumentException if the name, description or open type are null or the name or description are the empty string. OpenDataException if defaultValue is non-null and is either not a value of the given open type or the open type is an instance of {@link ArrayType} or {@link TabularType}.

OpenMBeanParameterInfoSupport

public <T> OpenMBeanParameterInfoSupport(String name, String desc, OpenType<T> type, T defaultValue, Comparable<T> minimumValue, Comparable<T> maximumValue)

Constructs a new {@link OpenMBeanParameterInfo} using the specified name, description, open type, default, maximum and minimum values. The name, description and open type cannot be null and the name and description may not be equal to the empty string. The default, maximum and minimum values may be null. The following conditions apply when the parameters mentioned are non-null:

  • The values must be valid values for the given open type.
  • Default values are not applicable to the open types, {@link ArrayType} and {@link TabularType}.
  • The minimum value must be smaller than or equal to the maximum value (literally, minValue.compareTo(maxValue) <= 0.
  • The minimum value must be smaller than or equal to the default value (literally, minValue.compareTo(defaultValue) <= 0.
  • The default value must be smaller than or equal to the maximum value (literally, defaultValue.compareTo(maxValue) <= 0.

Parameters: name the name of the parameter. desc a description of the parameter. type the open type of the parameter. defaultValue the default value of the parameter, or null. minimumValue the minimum value of the parameter, or null. maximumValue the maximum value of the parameter, or null.

Throws: IllegalArgumentException if the name, description or open type are null or the name or description are the empty string. OpenDataException if any condition in the list above is broken.

OpenMBeanParameterInfoSupport

public <T> OpenMBeanParameterInfoSupport(String name, String desc, OpenType<T> type, T defaultValue, T[] legalValues)

Constructs a new {@link OpenMBeanParameterInfo} using the specified name, description, open type, default value and set of legal values. The name, description and open type cannot be null and the name and description may not be equal to the empty string. The default, maximum and minimum values may be null. The following conditions apply when the parameters mentioned are non-null:

  • The default value and each of the legal values must be a valid value for the given open type.
  • Default and legal values are not applicable to the open types, {@link ArrayType} and {@link TabularType}.
  • The default value is not in the set of legal values.

The legal values are copied from the array into a unmodifiable set, so future modifications to the array have no effect.

Parameters: name the name of the parameter. desc a description of the parameter. type the open type of the parameter. defaultValue the default value of the parameter, or null. legalValues the legal values of the parameter. May be null or an empty array.

Throws: IllegalArgumentException if the name, description or open type are null or the name or description are the empty string. OpenDataException if any condition in the list above is broken.

Method Detail

equals

public boolean equals(Object obj)
Compares this parameter with the supplied object. This returns true iff the object is an instance of {@link OpenMBeanParameterInfo} with an equal name and open type and the same default, minimum, maximum and legal values.

Parameters: obj the object to compare.

Returns: true if the object is a {@link OpenMBeanParameterInfo} instance, name.equals(object.getName()), openType.equals(object.getOpenType()), defaultValue.equals(object.getDefaultValue()), minValue.equals(object.getMinValue()), maxValue.equals(object.getMaxValue()), and legalValues.equals(object.getLegalValues()).

getDefaultValue

public Object getDefaultValue()
Returns the default value of this parameter, or null if there is no default value.

Returns: the default value of the parameter, or null if there is no default.

getLegalValues

public Set<?> getLegalValues()
Returns a {@link java.util.Set} enumerating the legal values of this parameter, or null if no such limited set exists for this parameter.

Returns: a set of legal values, or null if no such set exists.

getMaxValue

public Comparable<?> getMaxValue()
Returns the maximum value of this parameter, or null if there is no maximum.

Returns: the maximum value, or null if none exists.

getMinValue

public Comparable<?> getMinValue()
Returns the minimum value of this parameter, or null if there is no minimum.

Returns: the minimum value, or null if none exists.

getOpenType

public OpenType<?> getOpenType()
Returns the open type instance which represents the type of this parameter.

Returns: the open type of this parameter.

hasDefaultValue

public boolean hasDefaultValue()
Returns true if this parameter has a default value (i.e. the value is non-null).

Returns: true if this parameter has a default.

hashCode

public int hashCode()

Returns the hashcode of the parameter information as the sum of the hashcodes of the name, open type, default value, maximum value, minimum value and the set of legal values.

As instances of this class are immutable, the hash code is computed just once for each instance and reused throughout its life.

Returns: the hashcode of the parameter information.

hasLegalValues

public boolean hasLegalValues()
Returns true if there is a set of legal values for this parameter (i.e. the value is non-null).

Returns: true if a set of legal values exists for this parameter.

hasMaxValue

public boolean hasMaxValue()
Returns true if there is a maximum value for this parameter (i.e. the value is non-null).

Returns: true if a maximum value exists for this parameter.

hasMinValue

public boolean hasMinValue()
Returns true if there is a minimum value for this parameter. (i.e. the value is non-null).

Returns: true if a minimum value exists for this parameter.

isValue

public boolean isValue(Object obj)
Returns true if the specified object is a valid value for this parameter.

Parameters: obj the object to test.

Returns: true if obj is a valid value for this parameter.

toString

public String toString()

Returns a textual representation of this instance. This is constructed using the class name (javax.management.openmbean.OpenMBeanParameterInfo) along with the name, open type, default, minimum, maximum and legal values of the parameter.

As instances of this class are immutable, the return value is computed just once for each instance and reused throughout its life.

Returns: a @link{java.lang.String} instance representing the instance in textual form.