javax.management.openmbean
Class OpenMBeanAttributeInfoSupport

java.lang.Object
  extended by javax.management.MBeanFeatureInfo
      extended by javax.management.MBeanAttributeInfo
          extended by javax.management.openmbean.OpenMBeanAttributeInfoSupport
All Implemented Interfaces:
Serializable, Cloneable, OpenMBeanAttributeInfo, OpenMBeanParameterInfo

public class OpenMBeanAttributeInfoSupport
extends MBeanAttributeInfo
implements OpenMBeanAttributeInfo

Describes an attribute of an open management bean.

Since:
1.5
See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.management.MBeanFeatureInfo
description, name
 
Constructor Summary
OpenMBeanAttributeInfoSupport(String name, String desc, OpenType<?> type, boolean isReadable, boolean isWritable, boolean isIs)
          Constructs a new OpenMBeanAttributeInfo using the specified name, description, open type and access properties.
OpenMBeanAttributeInfoSupport(String name, String desc, OpenType<T> type, boolean isReadable, boolean isWritable, boolean isIs, T defaultValue)
          Constructs a new OpenMBeanAttributeInfo using the specified name, description, open type and default value.
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 OpenMBeanAttributeInfo using the specified name, description, open type, access properties, default, maximum and minimum values.
OpenMBeanAttributeInfoSupport(String name, String desc, OpenType<T> type, boolean isReadable, boolean isWritable, boolean isIs, T defaultValue, T[] legalValues)
           Constructs a new OpenMBeanAttributeInfo using the specified name, description, open type, access properties, default value and set of legal values.
 
Method Summary
 boolean equals(Object obj)
          Compares this attribute with the supplied object.
 Object getDefaultValue()
          Returns the default value of this attribute, or null if there is no default value.
 Set<?> getLegalValues()
          Returns a 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.
 boolean hasDefaultValue()
          Returns true if this attribute has a default value (i.e. the value is non-null).
 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.
 boolean hasLegalValues()
          Returns true if there is a set of legal values for this attribute (i.e. the value is non-null).
 boolean hasMaxValue()
          Returns true if there is a maximum value for this attribute (i.e. the value is non-null).
 boolean hasMinValue()
          Returns true if there is a minimum value for this attribute.
 boolean isValue(Object obj)
          Returns true if the specified object is a valid value for this attribute.
 String toString()
           Returns a textual representation of this instance.
 
Methods inherited from class javax.management.MBeanAttributeInfo
clone, getType, isIs, isReadable, isWritable
 
Methods inherited from class javax.management.MBeanFeatureInfo
getDescription, getName
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.management.openmbean.OpenMBeanAttributeInfo
isIs, isReadable, isWritable
 
Methods inherited from interface javax.management.openmbean.OpenMBeanParameterInfo
getDescription, getName
 

Constructor Detail

OpenMBeanAttributeInfoSupport

public OpenMBeanAttributeInfoSupport(String name,
                                     String desc,
                                     OpenType<?> type,
                                     boolean isReadable,
                                     boolean isWritable,
                                     boolean isIs)
Constructs a new 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 OpenMBeanAttributeInfoSupport(String name,
                                     String desc,
                                     OpenType<T> type,
                                     boolean isReadable,
                                     boolean isWritable,
                                     boolean isIs,
                                     T defaultValue)
                              throws OpenDataException
Constructs a new 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, ArrayType and 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 ArrayType or TabularType.

OpenMBeanAttributeInfoSupport

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

Constructs a new 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, ArrayType and 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 OpenMBeanAttributeInfoSupport(String name,
                                     String desc,
                                     OpenType<T> type,
                                     boolean isReadable,
                                     boolean isWritable,
                                     boolean isIs,
                                     T defaultValue,
                                     T[] legalValues)
                              throws OpenDataException

Constructs a new 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, ArrayType and 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 OpenMBeanAttributeInfo with an equal name and open type and the same default, minimum, maximum and legal values and the same access properties.

Specified by:
equals in interface OpenMBeanAttributeInfo
Specified by:
equals in interface OpenMBeanParameterInfo
Overrides:
equals in class MBeanAttributeInfo
Parameters:
obj - the object to compare.
Returns:
true if the object is a 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()).
See Also:
Object.hashCode()

getDefaultValue

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

Specified by:
getDefaultValue in interface OpenMBeanParameterInfo
Returns:
the default value of the attribute, or null if there is no default.

getLegalValues

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

Specified by:
getLegalValues in interface OpenMBeanParameterInfo
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.

Specified by:
getMaxValue in interface OpenMBeanParameterInfo
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.

Specified by:
getMinValue in interface OpenMBeanParameterInfo
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.

Specified by:
getOpenType in interface OpenMBeanParameterInfo
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).

Specified by:
hasDefaultValue in interface OpenMBeanParameterInfo
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.

Specified by:
hashCode in interface OpenMBeanAttributeInfo
Specified by:
hashCode in interface OpenMBeanParameterInfo
Overrides:
hashCode in class MBeanAttributeInfo
Returns:
the hashcode of the attribute information.
See Also:
Object.equals(Object), System.identityHashCode(Object)

hasLegalValues

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

Specified by:
hasLegalValues in interface OpenMBeanParameterInfo
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).

Specified by:
hasMaxValue in interface OpenMBeanParameterInfo
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).

Specified by:
hasMinValue in interface OpenMBeanParameterInfo
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.

Specified by:
isValue in interface OpenMBeanParameterInfo
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.

Specified by:
toString in interface OpenMBeanAttributeInfo
Specified by:
toString in interface OpenMBeanParameterInfo
Overrides:
toString in class MBeanAttributeInfo
Returns:
a @link{java.lang.String} instance representing the instance in textual form.
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)