javax.management.openmbean

Class OpenType<T>

public abstract class OpenType<T> extends Object implements Serializable

The superclass of all open types, which describe the applicable data values for open MBeans. An open type is defined by its name and description, and the name of the Java class it maps to.

Since: 1.5

Field Summary
static List<String>ALLOWED_CLASSNAMES_LIST
A list which defines the set of Java types that may be used as open types.
Constructor Summary
protected OpenType(String className, String name, String desc)
Constructs a new {@link OpenType} for the specified class with the given name and description.
Method Summary
abstract booleanequals(Object obj)
Performs an equality test on this object and the one specified.
StringgetClassName()
Returns the name of the Java class this type represents.
StringgetDescription()
Returns a description of this open type.
StringgetTypeName()
Returns the name of this open type.
abstract inthashCode()
Returns a hash code for this open type.
booleanisArray()
Returns true if this open type represents an array type.
abstract booleanisValue(Object obj)
Returns true if the specified object is a member of this type.
abstract StringtoString()
Returns a textual representation of this type.

Field Detail

ALLOWED_CLASSNAMES_LIST

public static final List<String> ALLOWED_CLASSNAMES_LIST
A list which defines the set of Java types that may be used as open types. Note that each type is also available in array form, possibly with multiple dimensions.

Constructor Detail

OpenType

protected OpenType(String className, String name, String desc)
Constructs a new {@link OpenType} for the specified class with the given name and description. The name of the class must be taken from the list of {@link ALLOWED_CLASSNAMES}. Arrays are implictly included in this, and follow the usual syntax of {@link java.lang.Class#getName()} with the name preceded by n instances of '[' (where n is the number of dimensions) and an L. The name and description can not be null or the empty string.

Parameters: className the name of the Java class this type represents. name the name of the type. desc the description of the type.

Throws: IllegalArgumentException if either of name or desc are null or the empty string. OpenDataException if the class name does not reference a listed class (from @{link ALLOWED_CLASSNAMES})

Method Detail

equals

public abstract boolean equals(Object obj)
Performs an equality test on this object and the one specified.

Parameters: obj the object to test against this one.

Returns: true if the two objects are equivalent.

See Also: hashCode

getClassName

public String getClassName()
Returns the name of the Java class this type represents. This must be one of the {@link ALLOWED_CLASSNAMES} or an array of one of them. The specification of arrays follows the standard set by {@link java.lang.Class#getName()} i.e. the name is the class name preceded by n instances of '[' and an 'L', where n is number of dimensions used by the array.

Returns: the class name.

getDescription

public String getDescription()
Returns a description of this open type.

Returns: the description.

getTypeName

public String getTypeName()
Returns the name of this open type.

Returns: the type name.

hashCode

public abstract int hashCode()
Returns a hash code for this open type. The hash code should be consistent with the {@link equals()} method. Thus, it should continue to return the same value while the values used by the {@link equals()} method remain the same, and should return different hash codes for objects which are judged to be different using the {@link equals()} method.

Returns: the hash code of this instance.

isArray

public boolean isArray()
Returns true if this open type represents an array type.

Returns: true if this open type represents an array type.

isValue

public abstract boolean isValue(Object obj)
Returns true if the specified object is a member of this type.

Parameters: obj the object to test for membership.

Returns: true if the object is a member of this type.

toString

public abstract String toString()
Returns a textual representation of this type.

Returns: a {@link java.lang.String} representation of this type.