compact3
javax.management.openmbean

## Class SimpleType<T>

- java.lang.Object
- - javax.management.openmbean.OpenType<T>
  - - javax.management.openmbean.SimpleType<T>

All Implemented Interfaces:
  Serializable

    public final class SimpleType<T>
    extends OpenType<T>

The `SimpleType` class is the open type class whose instances describe all open data values which are neither arrays, nor `CompositeData` values, nor `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.

Since:
  1.5
See Also:
  Serialized Form

### Field Summary

Fields
`static SimpleType<BigDecimal>` `BIGDECIMAL` The `SimpleType` instance describing values whose Java class name is `java.math.BigDecimal`.
`static SimpleType<BigInteger>` `BIGINTEGER` The `SimpleType` instance describing values whose Java class name is `java.math.BigInteger`.
`static SimpleType<Boolean>` `BOOLEAN` The `SimpleType` instance describing values whose Java class name is `java.lang.Boolean`.
`static SimpleType<Byte>` `BYTE` The `SimpleType` instance describing values whose Java class name is `java.lang.Byte`.
`static SimpleType<Character>` `CHARACTER` The `SimpleType` instance describing values whose Java class name is `java.lang.Character`.
`static SimpleType<Date>` `DATE` The `SimpleType` instance describing values whose Java class name is `java.util.Date`.
`static SimpleType<Double>` `DOUBLE` The `SimpleType` instance describing values whose Java class name is `java.lang.Double`.
`static SimpleType<Float>` `FLOAT` The `SimpleType` instance describing values whose Java class name is `java.lang.Float`.
`static SimpleType<Integer>` `INTEGER` The `SimpleType` instance describing values whose Java class name is `java.lang.Integer`.
`static SimpleType<Long>` `LONG` The `SimpleType` instance describing values whose Java class name is `java.lang.Long`.
`static SimpleType<ObjectName>` `OBJECTNAME` The `SimpleType` instance describing values whose Java class name is `javax.management.ObjectName`.
`static SimpleType<Short>` `SHORT` The `SimpleType` instance describing values whose Java class name is `java.lang.Short`.
`static SimpleType<String>` `STRING` The `SimpleType` instance describing values whose Java class name is `java.lang.String`.
`static SimpleType<Void>` `VOID` The `SimpleType` instance describing values whose Java class name is `java.lang.Void`.

### Fields inherited from class javax.management.openmbean.OpenType

`ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals(Object obj)` Compares the specified `obj` parameter with this `SimpleType` instance for equality.
`int` `hashCode()` Returns the hash code value for this `SimpleType` instance.
`boolean` `isValue(Object obj)` Tests whether obj is a value for this `SimpleType` instance.
`Object` `readResolve()` Replace an object read from an `ObjectInputStream` with the unique instance for that value.
`String` `toString()` Returns a string representation of this `SimpleType` instance.

### Methods inherited from class javax.management.openmbean.OpenType

`getClassName, getDescription, getTypeName, isArray`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### VOID

    public static final SimpleType<Void> VOID

The `SimpleType` instance describing values whose Java class name is `java.lang.Void`.

#### BOOLEAN

    public static final SimpleType<Boolean> BOOLEAN

The `SimpleType` instance describing values whose Java class name is `java.lang.Boolean`.

#### CHARACTER

    public static final SimpleType<Character> CHARACTER

The `SimpleType` instance describing values whose Java class name is `java.lang.Character`.

#### BYTE

    public static final SimpleType<Byte> BYTE

The `SimpleType` instance describing values whose Java class name is `java.lang.Byte`.

#### SHORT

    public static final SimpleType<Short> SHORT

The `SimpleType` instance describing values whose Java class name is `java.lang.Short`.

#### INTEGER

    public static final SimpleType<Integer> INTEGER

The `SimpleType` instance describing values whose Java class name is `java.lang.Integer`.

#### LONG

    public static final SimpleType<Long> LONG

The `SimpleType` instance describing values whose Java class name is `java.lang.Long`.

#### FLOAT

    public static final SimpleType<Float> FLOAT

The `SimpleType` instance describing values whose Java class name is `java.lang.Float`.

#### DOUBLE

    public static final SimpleType<Double> DOUBLE

The `SimpleType` instance describing values whose Java class name is `java.lang.Double`.

#### STRING

    public static final SimpleType<String> STRING

The `SimpleType` instance describing values whose Java class name is `java.lang.String`.

#### BIGDECIMAL

    public static final SimpleType<BigDecimal> BIGDECIMAL

The `SimpleType` instance describing values whose Java class name is `java.math.BigDecimal`.

#### BIGINTEGER

    public static final SimpleType<BigInteger> BIGINTEGER

The `SimpleType` instance describing values whose Java class name is `java.math.BigInteger`.

#### DATE

    public static final SimpleType<Date> DATE

The `SimpleType` instance describing values whose Java class name is `java.util.Date`.

#### OBJECTNAME

    public static final SimpleType<ObjectName> OBJECTNAME

The `SimpleType` instance describing values whose Java class name is `javax.management.ObjectName`.

### Method Detail

#### isValue

    public boolean isValue(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 `getClassName` method).

Specified by:
  `isValue` in class `OpenType<T>`
Parameters:
  `obj` - the object to be tested.
Returns:
  `true` if obj is a value for this `SimpleType` instance.

#### equals

    public boolean equals(Object obj)

Compares the specified `obj` parameter with this `SimpleType` instance for equality.

Two `SimpleType` instances are equal if and only if their `getClassName` methods return the same value.

Specified by:
  `equals` in class `OpenType<T>`
Parameters:
  `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`.
Returns:
  `true` if the specified object is equal to this `SimpleType` instance.
See Also:
  `Object.hashCode()`, `HashMap`

#### hashCode

    public int hashCode()

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 `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.

Specified by:
  `hashCode` in class `OpenType<T>`
Returns:
  the hash code value for this `SimpleType` instance
See Also:
  `Object.equals(java.lang.Object)`, `System.identityHashCode(java.lang.Object)`

#### toString

    public String toString()

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.

Specified by:
  `toString` in class `OpenType<T>`
Returns:
  a string representation of this `SimpleType` instance

#### readResolve

    public Object readResolve()
                       throws ObjectStreamException

Replace an object read from an `ObjectInputStream` with the unique instance for that value.

Returns:
  the replacement object.
Throws:
  `ObjectStreamException` - if the read object cannot be resolved.