Class ParameterizedType


public class ParameterizedType extends Type
Type node for a parameterized type (added in JLS3 API). These nodes are used for type references (as opposed to declarations of parameterized types.)
 ParameterizedType:
    Type < Type { , Type } >
 
The first type may be a simple type or a qualified type; other kinds of types are meaningless.
Since:
3.1
Restriction:
This class is not intended to be instantiated by clients.
  • Field Details

    • TYPE_PROPERTY

      public static final ChildPropertyDescriptor TYPE_PROPERTY
      The "type" structural property of this node type (child type: Type).
    • TYPE_ARGUMENTS_PROPERTY

      public static final ChildListPropertyDescriptor TYPE_ARGUMENTS_PROPERTY
      The "typeArguments" structural property of this node type (element type: Type).
  • Method Details

    • propertyDescriptors

      public static List propertyDescriptors(int apiLevel)
      Returns a list of structural property descriptors for this node type. Clients must not modify the result.
      Parameters:
      apiLevel - the API level; one of the AST.JLS* constants
      Returns:
      a list of property descriptors (element type: StructuralPropertyDescriptor)
    • getType

      public Type getType()
      Returns the type of this parameterized type.
      Returns:
      the type of this parameterized type
    • setType

      public void setType(Type type)
      Sets the type of this parameterized type.
      Parameters:
      type - the new type of this parameterized type
      Throws:
      IllegalArgumentException - if:
      • the node belongs to a different AST
      • the node already has a parent
    • typeArguments

      public List typeArguments()
      Returns the live ordered list of type arguments of this parameterized type. For the parameterized type to be plausible, the list should contain at least one element and not contain primitive or union types.

      Since JLS4, the list can also be empty if this is the type of a ClassInstanceCreation (a so-called "diamond").

      Returns:
      the live list of type arguments (element type: Type)