javax.management.openmbean

Class OpenMBeanAttributeInfoSupport

public class OpenMBeanAttributeInfoSupport extends MBeanAttributeInfo implements OpenMBeanAttributeInfo

Describes an attribute of an open management bean.

Since: 1.5

Constructor Summary
OpenMBeanAttributeInfoSupport(String name, String desc, OpenType<?> type, boolean isReadable, boolean isWritable, boolean isIs)
Constructs a new {@link OpenMBeanAttributeInfo} using the specified name, description, open type and access properties.
<T>OpenMBeanAttributeInfoSupport(String name, String desc, OpenType<T> type, boolean isReadable, boolean isWritable, boolean isIs, T defaultValue)
Constructs a new {@link OpenMBeanAttributeInfo} using the specified name, description, open type and default value.
<T>OpenMBeanAttributeInfoSupport(String name, String desc, OpenType<T> type, boolean isReadable, boolean isWritable, boolean isIs, T defaultValue, Comparable<T> minimumValue, Comparable<T> maximumValue)

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

<T>OpenMBeanAttributeInfoSupport(String name, String desc, OpenType<T> type, boolean isReadable, boolean isWritable, boolean isIs, T defaultValue, T[] legalValues)

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

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

Returns the hashcode of the attribute 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 attribute (i.e. the value is non-null).
booleanhasMaxValue()
Returns true if there is a maximum value for this attribute (i.e. the value is non-null).
booleanhasMinValue()
Returns true if there is a minimum value for this attribute. (i.e. the value is non-null).
booleanisValue(Object obj)
Returns true if the specified object is a valid value for this attribute.
StringtoString()

Returns a textual representation of this instance.

Constructor Detail

OpenMBeanAttributeInfoSupport

public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType<?> type, boolean isReadable, boolean isWritable, boolean isIs)
Constructs a new {@link OpenMBeanAttributeInfo} using the specified name, description, open type and access properties. The name, description and open type may not be null and the name and description may not be equal to the empty string.

Parameters: name the name of the attribute. desc a description of the attribute. type the open type of the attribute. isReadable true if the attribute's value can be read. isWritable true if the attribute's value can be changed. isIs true if the attribute uses an accessor of the form isXXX.

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

OpenMBeanAttributeInfoSupport

public <T> OpenMBeanAttributeInfoSupport(String name, String desc, OpenType<T> type, boolean isReadable, boolean isWritable, boolean isIs, T defaultValue)
Constructs a new {@link OpenMBeanAttributeInfo} 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 attribute. desc a description of the attribute. type the open type of the attribute. isReadable true if the attribute's value can be read. isWritable true if the attribute's value can be changed. isIs true if the attribute uses an accessor of the form isXXX. defaultValue the default value of the attribute.

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}.

OpenMBeanAttributeInfoSupport

public <T> OpenMBeanAttributeInfoSupport(String name, String desc, OpenType<T> type, boolean isReadable, boolean isWritable, boolean isIs, T defaultValue, Comparable<T> minimumValue, Comparable<T> maximumValue)

Constructs a new {@link OpenMBeanAttributeInfo} using the specified name, description, open type, access properties, 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 attributes 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 attribute. desc a description of the attribute. type the open type of the attribute. isReadable true if the attribute's value can be read. isWritable true if the attribute's value can be changed. isIs true if the attribute uses an accessor of the form isXXX. defaultValue the default value of the attribute, or null. minimumValue the minimum value of the attribute, or null. maximumValue the maximum value of the attribute, 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.

OpenMBeanAttributeInfoSupport

public <T> OpenMBeanAttributeInfoSupport(String name, String desc, OpenType<T> type, boolean isReadable, boolean isWritable, boolean isIs, T defaultValue, T[] legalValues)

Constructs a new {@link OpenMBeanAttributeInfo} using the specified name, description, open type, access properties, 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 attributes 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 attribute. desc a description of the attribute. type the open type of the attribute. isReadable true if the attribute's value can be read. isWritable true if the attribute's value can be changed. isIs true if the attribute uses an accessor of the form isXXX. defaultValue the default value of the attribute, or null. legalValues the legal values of the attribute. 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 attribute with the supplied object. This returns true iff the object is an instance of {@link OpenMBeanAttributeInfo} with an equal name and open type and the same default, minimum, maximum and legal values and the same access properties.

Parameters: obj the object to compare.

Returns: true if the object is a {@link OpenMBeanAttributeInfo} instance, name.equals(object.getName()), openType.equals(object.getOpenType()), isRead == object.isReadable(), isWrite == object.isWritable(), isIs == object.isIs(), 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 attribute, or null if there is no default value.

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

getLegalValues

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

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

getMaxValue

public Comparable<?> getMaxValue()
Returns the maximum value of this attribute, 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 attribute, 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 attribute.

Returns: the open type of this attribute.

hasDefaultValue

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

Returns: true if this attribute has a default.

hashCode

public int hashCode()

Returns the hashcode of the attribute 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 attribute information.

hasLegalValues

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

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

hasMaxValue

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

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

hasMinValue

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

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

isValue

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

Parameters: obj the object to test.

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

toString

public String toString()

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

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.