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 Detail

      • 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 Detail

      • 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)