SimpleType (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.map.type

## Class SimpleType

- java.lang.Object
- - org.codehaus.jackson.type.JavaType
  - - org.codehaus.jackson.map.type.TypeBase
    - - org.codehaus.jackson.map.type.SimpleType

- All Implemented Interfaces:
    JsonSerializable, JsonSerializableWithType

      public final class SimpleType
      extends TypeBase

  Simple types are defined as anything other than one of recognized container types (arrays, Collections, Maps). For our needs we need not know anything further, since we have no way of dealing with generic types other than Collections and Maps.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected String[]` | `_typeNames` Names of generic type arguments for this type; will match values in `_typeParameters`
    `protected JavaType[]` | `_typeParameters` Generic type arguments for this type.

    - ### Fields inherited from class org.codehaus.jackson.type.JavaType

      `_class, _hashCode, _typeHandler, _valueHandler`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `SimpleType(Class<?> cls)`
    `protected` | `SimpleType(Class<?> cls, String[] typeNames, JavaType[] typeParams)` Deprecated.
    `protected` | `SimpleType(Class<?> cls, String[] typeNames, JavaType[] typeParams, Object valueHandler, Object typeHandler)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected JavaType` | `_narrow(Class<?> subclass)`
    `protected String` | `buildCanonicalName()`
    `static SimpleType` | `construct(Class<?> cls)`
    `static SimpleType` | `constructUnsafe(Class<?> raw)` Method used by core Jackson classes: NOT to be used by application code.
    `JavaType` | `containedType(int index)` Method for accessing definitions of contained ("child") types.
    `int` | `containedTypeCount()` Method for checking how many contained types this type has.
    `String` | `containedTypeName(int index)` Method for accessing name of type variable in indicated position.
    `boolean` | `equals(Object o)`
    `StringBuilder` | `getErasedSignature(StringBuilder sb)` Method for accessing signature without generic type information, in form compatible with all versions of JVM, and specifically used for type descriptions when generating byte code.
    `StringBuilder` | `getGenericSignature(StringBuilder sb)`
    `boolean` | `isContainerType()`
    `JavaType` | `narrowContentsBy(Class<?> subclass)`
    `String` | `toString()`
    `JavaType` | `widenContentsBy(Class<?> subclass)`
    `JavaType` | `withContentTypeHandler(Object h)` "Copy method" that will construct a new instance that is identical to this instance, except that its content type will have specified type handler assigned.
    `SimpleType` | `withContentValueHandler(Object h)`
    `SimpleType` | `withTypeHandler(Object h)` "Copy method" that will construct a new instance that is identical to this instance, except that it will have specified type handler assigned.
    `SimpleType` | `withValueHandler(Object h)`

    - ### Methods inherited from class org.codehaus.jackson.map.type.TypeBase

      `_classSignature, getTypeHandler, getValueHandler, serialize, serializeWithType, toCanonical`

    - ### Methods inherited from class org.codehaus.jackson.type.JavaType

      `_assertSubclass, _widen, forcedNarrowBy, getContentType, getErasedSignature, getGenericSignature, getKeyType, getRawClass, hasGenericTypes, hashCode, hasRawClass, isAbstract, isArrayType, isCollectionLikeType, isConcrete, isEnumType, isFinal, isInterface, isMapLikeType, isPrimitive, isThrowable, narrowBy, setValueHandler, widenBy`

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

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

- - ### Field Detail

    - #### _typeParameters

          protected final JavaType[] _typeParameters

      Generic type arguments for this type.

    - #### _typeNames

          protected final String[] _typeNames

      Names of generic type arguments for this type; will match values in `_typeParameters`

  - ### Constructor Detail

    - #### SimpleType

          protected SimpleType(Class<?> cls)

    - #### SimpleType

          @Deprecated
          protected SimpleType(Class<?> cls,
                               String[] typeNames,
                               JavaType[] typeParams)

      Deprecated.

    - #### SimpleType

          protected SimpleType(Class<?> cls,
                    String[] typeNames,
                    JavaType[] typeParams,
                    Object valueHandler,
                    Object typeHandler)

  - ### Method Detail

    - #### constructUnsafe

          public static SimpleType constructUnsafe(Class<?> raw)

      Method used by core Jackson classes: NOT to be used by application code.

      NOTE: public only because it is called by `ObjectMapper` which is not in same package

    - #### _narrow

          protected JavaType _narrow(Class<?> subclass)

      Specified by:
        `_narrow` in class `JavaType`

    - #### narrowContentsBy

          public JavaType narrowContentsBy(Class<?> subclass)

      Specified by:
        `narrowContentsBy` in class `JavaType`

    - #### widenContentsBy

          public JavaType widenContentsBy(Class<?> subclass)

      Specified by:
        `widenContentsBy` in class `JavaType`

    - #### construct

          public static SimpleType construct(Class<?> cls)

    - #### withTypeHandler

          public SimpleType withTypeHandler(Object h)

      Description copied from class: `JavaType`
      "Copy method" that will construct a new instance that is identical to this instance, except that it will have specified type handler assigned.
      Specified by:
        `withTypeHandler` in class `JavaType`
      Returns:
        Newly created type instance

    - #### withContentTypeHandler

          public JavaType withContentTypeHandler(Object h)

      Description copied from class: `JavaType`
      "Copy method" that will construct a new instance that is identical to this instance, except that its content type will have specified type handler assigned.
      Specified by:
        `withContentTypeHandler` in class `JavaType`
      Returns:
        Newly created type instance

    - #### withValueHandler

          public SimpleType withValueHandler(Object h)

      Overrides:
        `withValueHandler` in class `JavaType`

    - #### withContentValueHandler

          public SimpleType withContentValueHandler(Object h)

      Overrides:
        `withContentValueHandler` in class `JavaType`

    - #### buildCanonicalName

          protected String buildCanonicalName()

      Specified by:
        `buildCanonicalName` in class `TypeBase`

    - #### isContainerType

          public boolean isContainerType()

      Specified by:
        `isContainerType` in class `JavaType`
      Returns:
        True if type represented is a container type; this includes array, Map and Collection types.

    - #### containedTypeCount

          public int containedTypeCount()

      Description copied from class: `JavaType`
      Method for checking how many contained types this type has. Contained types are usually generic types, so that generic Maps have 2 contained types.
      Overrides:
        `containedTypeCount` in class `JavaType`

    - #### containedType

          public JavaType containedType(int index)

      Description copied from class: `JavaType`
      Method for accessing definitions of contained ("child") types.
      Overrides:
        `containedType` in class `JavaType`
      Parameters:
        `index` - Index of contained type to return
      Returns:
        Contained type at index, or null if no such type exists (no exception thrown)

    - #### containedTypeName

          public String containedTypeName(int index)

      Description copied from class: `JavaType`
      Method for accessing name of type variable in indicated position. If no name is bound, will use placeholders (derived from 0-based index); if no type variable or argument exists with given index, null is returned.
      Overrides:
        `containedTypeName` in class `JavaType`
      Parameters:
        `index` - Index of contained type to return
      Returns:
        Contained type at index, or null if no such type exists (no exception thrown)

    - #### getErasedSignature

          public StringBuilder getErasedSignature(StringBuilder sb)

      Description copied from class: `JavaType`
      Method for accessing signature without generic type information, in form compatible with all versions of JVM, and specifically used for type descriptions when generating byte code.
      Specified by:
        `getErasedSignature` in class `TypeBase`
      Parameters:
        `sb` - StringBuilder to append signature to
      Returns:
        StringBuilder that was passed in; returned to allow call chaining

    - #### getGenericSignature

          public StringBuilder getGenericSignature(StringBuilder sb)

      Specified by:
        `getGenericSignature` in class `TypeBase`
      Parameters:
        `sb` - StringBuilder to append signature to
      Returns:
        StringBuilder that was passed in; returned to allow call chaining

    - #### toString

          public String toString()

      Specified by:
        `toString` in class `JavaType`

    - #### equals

          public boolean equals(Object o)

      Specified by:
        `equals` in class `JavaType`