javax.management.openmbean

Class OpenMBeanParameterInfoSupport

Implemented Interfaces:
Cloneable, OpenMBeanParameterInfo, Serializable

public class OpenMBeanParameterInfoSupport
extends MBeanParameterInfo
implements OpenMBeanParameterInfo

Describes the parameters of a constructor or operation associated with an open management bean.
Since:
1.5
See Also:
Serialized Form

Field Summary

Fields inherited from class javax.management.MBeanFeatureInfo

description, name

Constructor Summary

OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, T defaultValue)
Constructs a new OpenMBeanParameterInfo using the specified name, description, open type and default value.
OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, T defaultValue, Comparable minimumValue, Comparable maximumValue)
Constructs a new OpenMBeanParameterInfo using the specified name, description, open type, default, maximum and minimum values.
OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, T defaultValue, T[] legalValues)
Constructs a new OpenMBeanParameterInfo using the specified name, description, open type, default value and set of legal values.
OpenMBeanParameterInfoSupport(String name, String desc, OpenType type)
Constructs a new OpenMBeanParameterInfo using the specified name, description and open type.

Method Summary

boolean
equals(Object obj)
Compares this parameter with the supplied object.
Object
getDefaultValue()
Returns the default value of this parameter, or null if there is no default value.
Set
getLegalValues()
Returns a 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.
boolean
hasDefaultValue()
Returns true if this parameter 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 parameter (i.e. the value is non-null).
boolean
hasMaxValue()
Returns true if there is a maximum value for this parameter (i.e. the value is non-null).
boolean
hasMinValue()
Returns true if there is a minimum value for this parameter.
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.
boolean
isValue(Object obj)
Returns true if the specified object is a valid value for this parameter.
String
toString()
Returns a textual representation of this instance.

Methods inherited from class javax.management.MBeanParameterInfo

clone, equals, getType, hashCode, 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

OpenMBeanParameterInfoSupport

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

OpenMBeanParameterInfoSupport

public  OpenMBeanParameterInfoSupport(String name,
                                         String desc,
                                         OpenType type,
                                         T defaultValue,
                                         Comparable minimumValue,
                                         Comparable maximumValue)
            throws OpenDataException
Constructs a new 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, 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 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  OpenMBeanParameterInfoSupport(String name,
                                         String desc,
                                         OpenType type,
                                         T defaultValue,
                                         T[] legalValues)
            throws OpenDataException
Constructs a new 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, 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 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.

OpenMBeanParameterInfoSupport

public OpenMBeanParameterInfoSupport(String name,
                                     String desc,
                                     OpenType type)
Constructs a new 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.

Method Details

equals

public boolean equals(Object obj)
Compares this parameter with the supplied object. This returns true iff the object is an instance of OpenMBeanParameterInfo with an equal name and open type and the same default, minimum, maximum and legal values.
Specified by:
equals in interface OpenMBeanParameterInfo
Overrides:
equals in interface MBeanParameterInfo
Parameters:
obj - the object to compare.
Returns:
true if the object is a 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.
Specified by:
getDefaultValue in interface OpenMBeanParameterInfo
Returns:
the default value of the parameter, or null if there is no default.

getLegalValues

public Set getLegalValues()
Returns a Set enumerating the legal values of this parameter, or null if no such limited set exists for this parameter.
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 parameter, 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 parameter, 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 parameter.
Specified by:
getOpenType in interface OpenMBeanParameterInfo
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).
Specified by:
hasDefaultValue in interface OpenMBeanParameterInfo
Returns:
true if this parameter has a default.

hasLegalValues

public boolean hasLegalValues()
Returns true if there is a set of legal values for this parameter (i.e. the value is non-null).
Specified by:
hasLegalValues in interface OpenMBeanParameterInfo
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).
Specified by:
hasMaxValue in interface OpenMBeanParameterInfo
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).
Specified by:
hasMinValue in interface OpenMBeanParameterInfo
Returns:
true if a minimum value exists for this parameter.

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.

Specified by:
hashCode in interface OpenMBeanParameterInfo
Overrides:
hashCode in interface MBeanParameterInfo
Returns:
the hashcode of the parameter information.

isValue

public boolean isValue(Object obj)
Returns true if the specified object is a valid value for this parameter.
Specified by:
isValue in interface OpenMBeanParameterInfo
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.

Specified by:
toString in interface OpenMBeanParameterInfo
Overrides:
toString in interface MBeanParameterInfo
Returns:
a @link{java.lang.String} instance representing the instance in textual form.

OpenMBeanParameterInfoSupport.java -- Open typed info about a parameter. 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.