javax.management.openmbean

Class OpenMBeanAttributeInfoSupport

Implemented Interfaces:
Cloneable, OpenMBeanAttributeInfo, OpenMBeanParameterInfo, Serializable

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, T defaultValue)
Constructs a new OpenMBeanAttributeInfo using the specified name, description, open type and default value.
OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, boolean isReadable, boolean isWritable, boolean isIs, T defaultValue, Comparable minimumValue, Comparable 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 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.
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.

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).
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.
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
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, equals, getType, hashCode, isIs, isReadable, isWritable, toString

Methods inherited from class javax.management.MBeanFeatureInfo

equals, getDescription, getName, hashCode, toString

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

OpenMBeanAttributeInfoSupport

public  OpenMBeanAttributeInfoSupport(String name,
                                         String desc,
                                         OpenType 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 type,
                                         boolean isReadable,
                                         boolean isWritable,
                                         boolean isIs,
                                         T defaultValue,
                                         Comparable minimumValue,
                                         Comparable 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 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.

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.

Method Details

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
equals in interface OpenMBeanParameterInfo
Overrides:
equals in interface 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()).

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.

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.

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
hashCode in interface OpenMBeanParameterInfo
Overrides:
hashCode in interface MBeanAttributeInfo
Returns:
the hashcode of the attribute information.

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
toString in interface OpenMBeanParameterInfo
Overrides:
toString in interface MBeanAttributeInfo
Returns:
a @link{java.lang.String} instance representing the instance in textual form.

OpenMBeanAttributeInfoSupport.java -- Open typed info about an attribute. Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.