FileDocCategorySizeDatePackage
SimpleType.javaAPI DocJava SE 5 API11942Fri Aug 26 14:57:36 BST 2005javax.management.openmbean

SimpleType

public final class SimpleType extends OpenType implements Serializable
The SimpleType class is the open type class whose instances describe all open data values which are neither arrays, nor {@link CompositeData CompositeData} values, nor {@link TabularData TabularData} values. It predefines all its possible instances as static fields, and has no public constructor.

Given a SimpleType instance describing values whose Java class name is className, the internal fields corresponding to the name and description of this SimpleType instance are also set to className. In other words, its methods getClassName, getTypeName and getDescription all return the same string value className.

version
3.23 03/12/19
author
Sun Microsystems, Inc.
since
1.5
since.unbundled
JMX 1.1

Fields Summary
static final long
serialVersionUID
public static final SimpleType
VOID
The SimpleType instance describing values whose Java class name is java.lang.Void.
public static final SimpleType
BOOLEAN
The SimpleType instance describing values whose Java class name is java.lang.Boolean.
public static final SimpleType
CHARACTER
The SimpleType instance describing values whose Java class name is java.lang.Character.
public static final SimpleType
BYTE
The SimpleType instance describing values whose Java class name is java.lang.Byte.
public static final SimpleType
SHORT
The SimpleType instance describing values whose Java class name is java.lang.Short.
public static final SimpleType
INTEGER
The SimpleType instance describing values whose Java class name is java.lang.Integer.
public static final SimpleType
LONG
The SimpleType instance describing values whose Java class name is java.lang.Long.
public static final SimpleType
FLOAT
The SimpleType instance describing values whose Java class name is java.lang.Float.
public static final SimpleType
DOUBLE
The SimpleType instance describing values whose Java class name is java.lang.Double.
public static final SimpleType
STRING
The SimpleType instance describing values whose Java class name is java.lang.String.
public static final SimpleType
BIGDECIMAL
The SimpleType instance describing values whose Java class name is java.math.BigDecimal.
public static final SimpleType
BIGINTEGER
The SimpleType instance describing values whose Java class name is java.math.BigInteger.
public static final SimpleType
DATE
The SimpleType instance describing values whose Java class name is java.util.Date.
public static final SimpleType
OBJECTNAME
The SimpleType instance describing values whose Java class name is javax.management.ObjectName.
private static final SimpleType[]
typeArray
private transient Integer
myHashCode
private transient String
myToString
private static final Map
canonicalTypes
Constructors Summary
private SimpleType(String className)
Constructs a SimpleType instance simply by calling super(className, className, className).

throws
OpenDataException if className is not one of the allowed Java class names for open data

	// need only be calculated once.


    /* *** Constructor *** */

                                     
         
	
	// Check and construct state defined by parent.
	//
	super(className, className, className);
    
Methods Summary
public booleanequals(java.lang.Object obj)
Compares the specified obj parameter with this SimpleType instance for equality.

Two SimpleType instances are equal if and only if their {@link OpenType#getClassName() getClassName} methods return the same value.

param
obj the object to be compared for equality with this SimpleType instance; if obj is null or is not an instance of the class SimpleType, equals returns false.
return
true if the specified object is equal to this SimpleType instance.


	/* If it weren't for readReplace(), we could replace this method
	   with just:
	   return (this == obj);
	*/

	if (!(obj instanceof SimpleType))
	    return false;

	SimpleType other = (SimpleType) obj;

	// Test if other's className field is the same as for this instance
	//
	return this.getClassName().equals(other.getClassName());
    
public inthashCode()
Returns the hash code value for this SimpleType instance. The hash code of a SimpleType instance is the the hash code of the string value returned by the {@link OpenType#getClassName() getClassName} method.

As SimpleType instances are immutable, the hash code for this instance is calculated once, on the first call to hashCode, and then the same value is returned for subsequent calls.

return
the hash code value for this SimpleType instance


	// Calculate the hash code value if it has not yet been done (ie 1st call to hashCode())
	//
	if (myHashCode == null) {
	    myHashCode = new Integer(this.getClassName().hashCode());
	}
	
	// return always the same hash code for this instance (immutable)
	//
	return myHashCode.intValue();
    
public booleanisValue(java.lang.Object obj)
Tests whether obj is a value for this SimpleType instance.

This method returns true if and only if obj is not null and obj's class name is the same as the className field defined for this SimpleType instance (ie the class name returned by the {@link OpenType#getClassName() getClassName} method).

param
obj the object to be tested.
return
true if obj is a value for this SimpleType instance.


	// if obj is null, return false
	//
	if (obj == null) {
	    return false;
	}

	// Test if obj's class name is the same as for this instance
	//
	return this.getClassName().equals(obj.getClass().getName());
    
public java.lang.ObjectreadResolve()
Replace an object read from an {@link java.io.ObjectInputStream} with the unique instance for that value.

return
the replacement object.
exception
ObjectStreamException if the read object cannot be resolved.

     
	for (int i = 0; i < typeArray.length; i++) {
	    final SimpleType type = typeArray[i];
	    canonicalTypes.put(type, type);
	}
    
	final SimpleType canonical = (SimpleType) canonicalTypes.get(this);
	if (canonical == null) {
	    // Should not happen
	    throw new InvalidObjectException("Invalid SimpleType: " + this);
	}
	return canonical;
    
public java.lang.StringtoString()
Returns a string representation of this SimpleType instance.

The string representation consists of the name of this class (ie javax.management.openmbean.SimpleType) and the type name for this instance (which is the java class name of the values this SimpleType instance represents).

As SimpleType instances are immutable, the string representation for this instance is calculated once, on the first call to toString, and then the same value is returned for subsequent calls.

return
a string representation of this SimpleType instance


	// Calculate the string representation if it has not yet been done (ie 1st call to toString())
	//
	if (myToString == null) {
	    myToString = this.getClass().getName()+ "(name="+ getTypeName() +")";
	}

	// return always the same string representation for this instance (immutable)
	//
	return myToString;