Top Description Fields Constructors Methods
javax.management.openmbean

public abstract Class OpenType<T>

extends Object
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Known Direct Subclasses
javax.management.openmbean.SimpleType, javax.management.openmbean.TabularType, sun.management.MappedMXBeanType.InProgress, javax.management.openmbean.ArrayType, javax.management.openmbean.CompositeType
Type Parameters
<T>
the Java type that instances described by this type must have. For example, SimpleType#INTEGER is a SimpleType<Integer> which is a subclass of OpenType<Integer>, meaning that an attribute, parameter, or return value that is described as a SimpleType.INTEGER must have Java type Integer.
Imports
com.sun.jmx.mbeanserver.GetPropertyAction, java.io.IOException, .InvalidObjectException, .ObjectInputStream, .Serializable, java.security.AccessController, .PrivilegedAction, java.util.Arrays, .Collections, .List, javax.management.Descriptor, .ImmutableDescriptor

The OpenType class is the parent abstract class of all classes which describe the actual open type of open data values.

An open type is defined by:

Since
1.5

Field Summary

Modifier and TypeField and Description
public static final String[]
public static final List<String>
ALLOWED_CLASSNAMES_LIST

List of the fully qualified names of the Java classes allowed for open data values.

private String
private String
private transient Descriptor
descriptor

Cached Descriptor for this OpenType, constructed on demand.

private transient boolean
isArray

Tells if this type describes an array (checked in constructor).

pack-priv static final long
private String

Constructor Summary

AccessConstructor and Description
protected
OpenType(String
The fully qualified Java class name of the open data values this open type describes. The valid Java class names allowed for open data values are listed in ALLOWED_CLASSNAMES_LIST. A multidimensional array of any one of these classes or their corresponding primitive types is also an allowed class, in which case the class name follows the rules defined by the method getName() of java.lang.Class. For example, a 3-dimensional array of Strings has for class name "[[[Ljava.lang.String;" (without the quotes).
 
className
,
String
The name given to the open type this instance represents; cannot be a null or empty string.
 
typeName
,
String
The human readable description of the open type this instance represents; cannot be a null or empty string.
 
description
)

Constructs an OpenType instance (actually a subclass instance as OpenType is abstract), checking for the validity of the given parameters.

pack-priv
OpenType(String className, String typeName, String description, boolean isArray)

Method Summary

Modifier and TypeMethod and Description
private void
public abstract boolean

Returns:

true if this object and obj are equal.
equals
(Object
the object to compare to.
obj
)

Overrides java.lang.Object.equals.

Compares the specified obj parameter with this open type instance for equality.

public String

Returns:

the class name.
getClassName
()

Returns the fully qualified Java class name of the open data values this open type describes.

public String

Returns:

the description.
getDescription
()

Returns the text description of this OpenType instance.

pack-priv synchronized Descriptor
public String

Returns:

the type name.
getTypeName
()

Returns the name of this OpenType instance.

public abstract int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public boolean

Returns:

true if this is an array type.
isArray
()

Returns true if the open data values this open type describes are arrays, false otherwise.

pack-priv boolean

Returns:

true if ot is assignable to this open type.
isAssignableFrom
(OpenType<?>
the type to be tested.
ot
)

Tests whether values of the given type can be assigned to this open type.

public abstract boolean

Returns:

true if obj is a value for this open type, false otherwise.
isValue
(Object
the object to be tested for validity.
obj
)

Tests whether obj is a value for this open type.

private static boolean
private void
pack-priv String
public abstract String

Returns:

the string representation.
toString
()

Overrides java.lang.Object.toString.

Returns a string representation of this open type instance.

private static String
valid(String argName, String argValue)

private static String
Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

ALLOWED_CLASSNAMESback to summary
public static final String[] ALLOWED_CLASSNAMES

Deprecated

Use ALLOWED_CLASSNAMES_LIST instead.

Annotations
@Deprecated
ALLOWED_CLASSNAMES_LISTback to summary
public static final List<String> ALLOWED_CLASSNAMES_LIST

List of the fully qualified names of the Java classes allowed for open data values. A multidimensional array of any one of these classes or their corresponding primitive types is also an allowed class for open data values.

ALLOWED_CLASSNAMES_LIST = {
       "java.lang.Void",
       "java.lang.Boolean",
       "java.lang.Character",
       "java.lang.Byte",
       "java.lang.Short",
       "java.lang.Integer",
       "java.lang.Long",
       "java.lang.Float",
       "java.lang.Double",
       "java.lang.String",
       "java.math.BigDecimal",
       "java.math.BigInteger",
       "java.util.Date",
       "javax.management.ObjectName",
       CompositeData.class.getName(),
       TabularData.class.getName() } ;
      
classNameback to summary
private String className
descriptionback to summary
private String description
descriptorback to summary
private transient Descriptor descriptor

Cached Descriptor for this OpenType, constructed on demand.

isArrayback to summary
private transient boolean isArray

Tells if this type describes an array (checked in constructor).

serialVersionUIDback to summary
pack-priv static final long serialVersionUID
typeNameback to summary
private String typeName

Constructor Detail

OpenTypeback to summary
protected OpenType(String className, String typeName, String description) throws OpenDataException

Constructs an OpenType instance (actually a subclass instance as OpenType is abstract), checking for the validity of the given parameters. The validity constraints are described below for each parameter.
 

Parameters
className:String

The fully qualified Java class name of the open data values this open type describes. The valid Java class names allowed for open data values are listed in ALLOWED_CLASSNAMES_LIST. A multidimensional array of any one of these classes or their corresponding primitive types is also an allowed class, in which case the class name follows the rules defined by the method getName() of java.lang.Class. For example, a 3-dimensional array of Strings has for class name "[[[Ljava.lang.String;" (without the quotes).
 

typeName:String

The name given to the open type this instance represents; cannot be a null or empty string.
 

description:String

The human readable description of the open type this instance represents; cannot be a null or empty string.
 

Exceptions
OpenDataException:
if className is not one of the allowed Java class names for open data
IllegalArgumentException:
if className, typeName or description is a null or empty string
 
OpenTypeback to summary
pack-priv OpenType(String className, String typeName, String description, boolean isArray)

Method Detail

checkClassNameOverrideback to summary
private void checkClassNameOverride() throws SecurityException
Annotations
@SuppressWarnings:removal
equalsback to summary
public abstract boolean equals(Object obj)

Overrides java.lang.Object.equals.

Compares the specified obj parameter with this open type instance for equality.

Parameters
obj:Object

the object to compare to.

Returns:boolean

true if this object and obj are equal.

getClassNameback to summary
public String getClassName()

Returns the fully qualified Java class name of the open data values this open type describes. The only possible Java class names for open data values are listed in ALLOWED_CLASSNAMES_LIST. A multidimensional array of any one of these classes or their corresponding primitive types is also an allowed class, in which case the class name follows the rules defined by the method getName() of java.lang.Class. For example, a 3-dimensional array of Strings has for class name "[[[Ljava.lang.String;" (without the quotes), a 3-dimensional array of Integers has for class name "[[[Ljava.lang.Integer;" (without the quotes), and a 3-dimensional array of int has for class name "[[[I" (without the quotes)

Returns:String

the class name.

getDescriptionback to summary
public String getDescription()

Returns the text description of this OpenType instance.

Returns:String

the description.

getDescriptorback to summary
pack-priv synchronized Descriptor getDescriptor()
getTypeNameback to summary
public String getTypeName()

Returns the name of this OpenType instance.

Returns:String

the type name.

hashCodeback to summary
public abstract int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

isArrayback to summary
public boolean isArray()

Returns true if the open data values this open type describes are arrays, false otherwise.

Returns:boolean

true if this is an array type.

isAssignableFromback to summary
pack-priv boolean isAssignableFrom(OpenType<?> ot)

Tests whether values of the given type can be assigned to this open type. The default implementation of this method returns true only if the types are equal.

Parameters
ot:OpenType<?>

the type to be tested.

Returns:boolean

true if ot is assignable to this open type.

isValueback to summary
public abstract boolean isValue(Object obj)

Tests whether obj is a value for this open type.

Parameters
obj:Object

the object to be tested for validity.

Returns:boolean

true if obj is a value for this open type, false otherwise.

overridesGetClassNameback to summary
private static boolean overridesGetClassName(final Class<?> c)
Annotations
@SuppressWarnings:removal
readObjectback to summary
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException

Deserializes an OpenType from an java.io.ObjectInputStream.

safeGetClassNameback to summary
pack-priv String safeGetClassName()
toStringback to summary
public abstract String toString()

Overrides java.lang.Object.toString.

Returns a string representation of this open type instance.

Returns:String

the string representation.

validback to summary
private static String valid(String argName, String argValue)
validClassNameback to summary
private static String validClassName(String className) throws OpenDataException