Type
Date: 2017-03-29

com.thoughtworks.qdox.model

## Class Type

- java.lang.Object
- - com.thoughtworks.qdox.model.Type

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable
  Direct Known Subclasses:
    TypeVariable, WildcardType

      public class Type
      extends java.lang.Object
      implements java.lang.Comparable, java.io.Serializable

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Type[]` | `EMPTY_ARRAY`
    `static Type` | `VOID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Type(java.lang.String fullName)`
    `Type(java.lang.String fullName, int dimensions)`
    `Type(java.lang.String fullName, int dimensions, JavaClassParent context)`
    `Type(java.lang.String fullName, java.lang.String name, int dimensions, JavaClassParent context)`
    `Type(java.lang.String fullName, TypeDef typeDef, int dimensions, JavaClassParent context)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareTo(java.lang.Object o)`
    `static Type` | `createUnresolved(java.lang.String name, int dimensions, JavaClassParent context)`
    `static Type` | `createUnresolved(TypeDef typeDef, int dimensions, JavaClassParent context)`
    `static Type` | `createUnresolved(TypeDef typeDef, JavaClassParent context)`
    `boolean` | `equals(java.lang.Object obj)`
    `Type[]` | `getActualTypeArguments()`
    `int` | `getDimensions()` Returns the depth of this array, 0 if it's not an array
    `java.lang.String` | `getFullQualifiedName()` Deprecated. instead use getFullyQualifiedName()
    `java.lang.String` | `getFullyQualifiedName()` Returns the FQN of an Object or the handler of a Type If the name of the can't be resolved based on the imports and the classes on the classpath the name will be returned InnerClasses will use the $ sign Some examples how names will be translated
    `java.lang.String` | `getGenericValue()` The FQN representation of an Object for code usage This implementation ignores generics Some examples how Objects will be translated
    `protected java.lang.String` | `getGenericValue(TypeVariable[] typeVariableList)`
    `JavaClass` | `getJavaClass()`
    `JavaClassParent` | `getJavaClassParent()`
    `protected java.lang.String` | `getResolvedGenericValue(TypeVariable[] typeParameters)`
    `protected java.lang.String` | `getResolvedValue(TypeVariable[] typeParameters)`
    `protected int` | `getTypeVariableIndex(JavaClass superClass)`
    `java.lang.String` | `getValue()` The FQN representation of an Object for code usage This implementation ignores generics Some examples how Objects will be translated
    `int` | `hashCode()`
    `boolean` | `isA(Type type)`
    `boolean` | `isArray()` Returns true if this Type is an array
    `boolean` | `isPrimitive()`
    `boolean` | `isResolved()` Checks if the FQN of this Type is resolved
    `boolean` | `isVoid()`
    `protected Type` | `resolve(JavaClass parentClass)`
    `protected Type` | `resolve(JavaClass parentClass, JavaClass subclass)`
    `java.lang.String` | `toGenericString()` Returns getGenericValue() extended with the array information
    `java.lang.String` | `toString()` Returns getValue() extended with the array information

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

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

- - ### Field Detail

    - #### EMPTY_ARRAY

          public static final Type[] EMPTY_ARRAY

    - #### VOID

          public static final Type VOID

  - ### Constructor Detail

    - #### Type

          public Type(java.lang.String fullName,
              java.lang.String name,
              int dimensions,
              JavaClassParent context)

    - #### Type

          public Type(java.lang.String fullName,
              TypeDef typeDef,
              int dimensions,
              JavaClassParent context)

    - #### Type

          public Type(java.lang.String fullName,
              int dimensions,
              JavaClassParent context)

    - #### Type

          public Type(java.lang.String fullName,
              int dimensions)

    - #### Type

          public Type(java.lang.String fullName)

  - ### Method Detail

    - #### createUnresolved

          public static Type createUnresolved(java.lang.String name,
                              int dimensions,
                              JavaClassParent context)

    - #### createUnresolved

          public static Type createUnresolved(TypeDef typeDef,
                              int dimensions,
                              JavaClassParent context)

    - #### createUnresolved

          public static Type createUnresolved(TypeDef typeDef,
                              JavaClassParent context)

    - #### getJavaClassParent

          public JavaClassParent getJavaClassParent()

    - #### getFullQualifiedName

          public java.lang.String getFullQualifiedName()

      Deprecated. instead use getFullyQualifiedName()

    - #### getFullyQualifiedName

          public java.lang.String getFullyQualifiedName()

      Returns the FQN of an Object or the handler of a Type If the name of the can't be resolved based on the imports and the classes on the classpath the name will be returned InnerClasses will use the $ sign Some examples how names will be translated

           Object > java.lang.Object
           java.util.List > java.util.List
           ?  > ?
           T  > T
           anypackage.Outer.Inner > anypackage.Outer$Inner

      Returns:

    - #### getValue

          public java.lang.String getValue()

      The FQN representation of an Object for code usage This implementation ignores generics Some examples how Objects will be translated

           Object > java.lang.object
           java.util.List > java.util.List
           ? > ?
           T > T
           anypackage.Outer.Inner > anypackage.Outer.Inner

      Returns:
        type representation for code usage

    - #### getGenericValue

          public java.lang.String getGenericValue()

      The FQN representation of an Object for code usage This implementation ignores generics Some examples how Objects will be translated

           Object > java.lang.object
           java.util.List > java.util.List
           ? > ?
           T > T
           anypackage.Outer.Inner > anypackage.Outer.Inner

      Returns:
        generic type representation for code usage
      Since:
        1.8

    - #### getGenericValue

          protected java.lang.String getGenericValue(TypeVariable[] typeVariableList)

    - #### getResolvedValue

          protected java.lang.String getResolvedValue(TypeVariable[] typeParameters)

    - #### getResolvedGenericValue

          protected java.lang.String getResolvedGenericValue(TypeVariable[] typeParameters)

    - #### isResolved

          public boolean isResolved()

      Checks if the FQN of this Type is resolved
      Returns:

    - #### compareTo

          public int compareTo(java.lang.Object o)

      Specified by:
        `compareTo` in interface `java.lang.Comparable`
      See Also:
        `Comparable.compareTo(Object)`

    - #### isArray

          public boolean isArray()

      Returns true if this Type is an array
      Returns:

    - #### getDimensions

          public int getDimensions()

      Returns the depth of this array, 0 if it's not an array
      Returns:
        The depth of this array

    - #### getActualTypeArguments

          public Type[] getActualTypeArguments()

      Returns:
        the actualTypeArguments or null

    - #### toString

          public java.lang.String toString()

      Returns getValue() extended with the array information
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:

    - #### toGenericString

          public java.lang.String toGenericString()

      Returns getGenericValue() extended with the array information

           Object > java.lang.Object
           Object[] > java.lang.Object[]
           List

      Returns:

    - #### equals

          public boolean equals(java.lang.Object obj)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### getJavaClass

          public JavaClass getJavaClass()

    - #### isA

          public boolean isA(Type type)

      Since:
        1.3

    - #### isPrimitive

          public boolean isPrimitive()

      Since:
        1.6

    - #### isVoid

          public boolean isVoid()

      Since:
        1.6

    - #### getTypeVariableIndex

          protected int getTypeVariableIndex(JavaClass superClass)

      Parameters:
        `superClass` -
      Returns:
      Since:
        1.12

    - #### resolve

          protected Type resolve(JavaClass parentClass)

      Parameters:
        `parentClass` -
      Returns:
      Since:
        1.12

    - #### resolve

          protected Type resolve(JavaClass parentClass,
                     JavaClass subclass)

      Parameters:
        `parentClass` -
        `subclass` -
      Returns:
      Since:
        1.12