Package: org.codehaus.groovy.ast

## [Java] Class GenericsType

- org.codehaus.groovy.ast.GenericsType

-     public class GenericsType
      extends ASTNode

  This class is used to describe generic type signatures for ClassNodes.

  See Also:
    ClassNode

- - ### Nested Class Summary

    Nested classes
    Modifiers | Name | Description
    --- | --- | ---
    `static class` | `GenericsType.GenericsTypeName` | Represents GenericsType name TODO In order to distinguish GenericsType with same name(See GROOVY-8409), we should add a property to keep the declaring class.

  - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static GenericsType[]` | `EMPTY_ARRAY` |

  - ### Constructor Summary

    Constructors
    Constructor and description
    `GenericsType (ClassNode type, ClassNode[] upperBounds, ClassNode lowerBound)`
    `GenericsType (ClassNode basicType)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public ClassNode` | `getLowerBound()`
    `` | `public String` | `getName()`
    `` | `public ClassNode` | `getType()`
    `` | `public ClassNode[]` | `getUpperBounds()`
    `` | `public boolean` | `isCompatibleWith(ClassNode classNode)` Compares this generics type with the provided class node.
    `` | `public boolean` | `isPlaceholder()`
    `` | `public boolean` | `isResolved()`
    `` | `public boolean` | `isWildcard()`
    `` | `public void` | `setName(String name)`
    `` | `public void` | `setPlaceholder(boolean placeholder)`
    `` | `public void` | `setResolved(boolean resolved)`
    `` | `public void` | `setType(ClassNode type)`
    `` | `public void` | `setWildcard(boolean wildcard)`
    `` | `public String` | `toString()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class ASTNode` | `copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition, visit`

- - ### Field Detail

    - #### public static final GenericsType[] EMPTY_ARRAY

  - ### Constructor Detail

    - #### public GenericsType(ClassNode type, ClassNode[] upperBounds, ClassNode lowerBound)

    - #### public GenericsType(ClassNode basicType)

  - ### Method Detail

    - #### public ClassNode getLowerBound()

    - #### public String getName()

    - #### public ClassNode getType()

    - #### public ClassNode[] getUpperBounds()

    - #### public boolean isCompatibleWith(ClassNode classNode)

      Compares this generics type with the provided class node. If the provided class node is compatible with the generics specification, returns true. Otherwise, returns false. The check is complete, meaning that nested generics are also checked.

      Returns:
        if `classNode` is or is not compatible with this generics specification

    - #### public boolean isPlaceholder()

    - #### public boolean isResolved()

    - #### public boolean isWildcard()

    - #### public void setName(String name)

    - #### public void setPlaceholder(boolean placeholder)

    - #### public void setResolved(boolean resolved)

    - #### public void setType(ClassNode type)

    - #### public void setWildcard(boolean wildcard)

    - #### public String toString()