Module java.management
Package 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
    Modifier and Type | Field | Description
    --- | --- | ---
    `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 declared in class javax.management.openmbean.OpenType

      `ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST`

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `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 declared in class javax.management.openmbean.OpenType

      `getClassName, getDescription, getTypeName, isArray`

    - ### Methods declared in 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 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.

      Overrides:
        `hashCode` in class `Object`
      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.