javax.management.openmbean
Class OpenType<T>

java.lang.Object
  extended by javax.management.openmbean.OpenType<T>
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
ArrayType, CompositeType, SimpleType, 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 String[] ALLOWED_CLASSNAMES
          Deprecated. Use ALLOWED_CLASSNAMES_LIST instead.
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 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, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ALLOWED_CLASSNAMES

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


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)
            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 Detail

equals

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

Overrides:
equals in class Object
Parameters:
obj - the object to test against this one.
Returns:
true if the two objects are equivalent.
See Also:
Object.hashCode()

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 class Object
Returns:
the hash code of this instance.
See Also:
Object.equals(Object), System.identityHashCode(Object)

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 class Object
Returns:
a String representation of this type.
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)