org.codehaus.jackson.map.type

## Class HierarchicType

- java.lang.Object
- - org.codehaus.jackson.map.type.HierarchicType

-     public class HierarchicType
      extends Object

  Simple replacement for `Class` (and/or various Type subtypes) that is used as part of single-path extends/implements chain to express specific relationship between one subtype and one supertype. This is needed for resolving type parameters. Instances are doubly-linked so that chain can be traversed in both directions
  Since:
    1.6

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Type` | `_actualType` Type which will be either plain `Class` or `ParameterizedType`.
    `protected ParameterizedType` | `_genericType`
    `protected Class<?>` | `_rawClass`
    `protected HierarchicType` | `_subType`
    `protected HierarchicType` | `_superType`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HierarchicType(Type type)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ParameterizedType` | `asGeneric()`
    `HierarchicType` | `deepCloneWithoutSubtype()` Method that can be used to create a deep clone of this hierarchic type, including super types (but not subtypes)
    `Class<?>` | `getRawClass()`
    `HierarchicType` | `getSubType()`
    `HierarchicType` | `getSuperType()`
    `boolean` | `isGeneric()`
    `void` | `setSubType(HierarchicType sub)`
    `void` | `setSuperType(HierarchicType sup)`
    `String` | `toString()`

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

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

- - ### Field Detail

    - #### _actualType

          protected final Type _actualType

      Type which will be either plain `Class` or `ParameterizedType`.

    - #### _rawClass

          protected final Class<?> _rawClass

    - #### _genericType

          protected final ParameterizedType _genericType

    - #### _superType

          protected HierarchicType _superType

    - #### _subType

          protected HierarchicType _subType

  - ### Constructor Detail

    - #### HierarchicType

          public HierarchicType(Type type)

  - ### Method Detail

    - #### deepCloneWithoutSubtype

          public HierarchicType deepCloneWithoutSubtype()

      Method that can be used to create a deep clone of this hierarchic type, including super types (but not subtypes)
      Since:
        1.9

    - #### setSuperType

          public void setSuperType(HierarchicType sup)

    - #### getSuperType

          public final HierarchicType getSuperType()

    - #### setSubType

          public void setSubType(HierarchicType sub)

    - #### getSubType

          public final HierarchicType getSubType()

    - #### isGeneric

          public final boolean isGeneric()

    - #### asGeneric

          public final ParameterizedType asGeneric()

    - #### getRawClass

          public final Class<?> getRawClass()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`