javax.management.openmbean

Class OpenType<T>

Implemented Interfaces:
Serializable
Known Direct Subclasses:
ArrayType<T>, CompositeType, SimpleType<T>, TabularType

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
See Also:
Serialized Form

Field Summary

static List
ALLOWED_CLASSNAMES_LIST
A list which defines the set of Java types that may be used as open types.
static @Deprecated
String[]ALLOWED_CLASSNAMES
Deprecated. Use ALLOWED_CLASSNAMES_LIST instead.

Constructor Summary

OpenType(String className, String name, String desc)
Constructs a new OpenType for the specified class with the given name and description.

Method Summary

abstract boolean
equals(Object obj)
Performs an equality test on this object and the one specified.
String
getClassName()
Returns the name of the Java class this type represents.
String
getDescription()
Returns a description of this open type.
String
getTypeName()
Returns the name of this open type.
abstract int
hashCode()
Returns a hash code for this open type.
boolean
isArray()
Returns true if this open type represents an array type.
abstract boolean
isValue(Object obj)
Returns true if the specified object is a member of this type.
abstract String
toString()
Returns a textual representation of this type.

Methods inherited from class java.lang.Object

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

Field Details

ALLOWED_CLASSNAMES_LIST

public static final List 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.

String[]ALLOWED_CLASSNAMES

public static final @Deprecated String[]ALLOWED_CLASSNAMES

Deprecated. Use ALLOWED_CLASSNAMES_LIST instead.

An array which defines the set of Java types which can be used as open types. Note that each type is also available in array form, possibly with multiple dimensions.

Constructor Details

OpenType

protected OpenType(String className,
                   String name,
                   String desc)
            throws OpenDataException
Constructs a new OpenType for the specified class with the given name and description. The name of the class must be taken from the list of ALLOWED_CLASSNAMES. Arrays are implictly included in this, and follow the usual syntax of 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 Details

equals

public abstract boolean equals(Object obj)
Performs an equality test on this object and the one specified.
Overrides:
equals in interface Object
Parameters:
obj - the object to test against this one.
Returns:
true if the two objects are equivalent.

getClassName

public String getClassName()
Returns the name of the Java class this type represents. This must be one of the ALLOWED_CLASSNAMES or an array of one of them. The specification of arrays follows the standard set by 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 equals() method. Thus, it should continue to return the same value while the values used by the equals() method remain the same, and should return different hash codes for objects which are judged to be different using the equals() method.
Overrides:
hashCode in interface Object
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.
Overrides:
toString in interface Object
Returns:
a String representation of this type.

OpenType.java -- Superclass of all open types. 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.