Module jdk.javadoc
Package com.sun.javadoc

## Interface ParameterizedType

All Superinterfaces:
  Type

    public interface ParameterizedType
    extends Type

Represents an invocation of a generic class or interface. For example, given the generic interface `List<E>`, possible invocations include:

          List<String>
          List<T extends Number>
          List<?>

A generic inner class `Outer<T>.Inner<S>` might be invoked as:

          Outer<Number>.Inner<String>

Since:
  1.5

### Method Summary

All Methods Instance Methods Abstract Methods
`ClassDoc` `asClassDoc()` Return the generic class or interface that declared this type.
`Type` `containingType()` Return the type that contains this type as a member.
`Type[]` `interfaceTypes()` Return the interface types directly implemented by or extended by this parameterized type.
`Type` `superclassType()` Return the class type that is a direct supertype of this one.
`Type[]` `typeArguments()` Return the actual type arguments of this type.

### Methods inherited from interface com.sun.javadoc.Type

`asAnnotatedType, asAnnotationTypeDoc, asParameterizedType, asTypeVariable, asWildcardType, dimension, getElementType, isPrimitive, qualifiedTypeName, simpleTypeName, toString, typeName`

### Method Detail

#### asClassDoc

    ClassDoc asClassDoc()

Return the generic class or interface that declared this type.

Specified by:
  `asClassDoc` in interface `Type`
Returns:
  the generic class or interface that declared this type.

#### typeArguments

    Type[] typeArguments()

Return the actual type arguments of this type. For a generic type that is nested within some other generic type (such as `Outer<T>.Inner<S>`), only the type arguments of the innermost type are included.

Returns:
  the actual type arguments of this type.

#### superclassType

    Type superclassType()

Return the class type that is a direct supertype of this one. This is the superclass of this type's declaring class, with type arguments substituted in. Return null if this is an interface type.

For example, if this parameterized type is `java.util.ArrayList<String>`, the result will be `java.util.AbstractList<String>`.

Returns:
  the class type that is a direct supertype of this one.

#### interfaceTypes

    Type[] interfaceTypes()

Return the interface types directly implemented by or extended by this parameterized type. These are the interfaces directly implemented or extended by this type's declaring class or interface, with type arguments substituted in. Return an empty array if there are no interfaces.

For example, the interface extended by `java.util.Set<String>` is `java.util.Collection<String>`.

Returns:
  the interface types directly implemented by or extended by this parameterized type.

#### containingType

    Type containingType()

Return the type that contains this type as a member. Return null is this is a top-level type.

For example, the containing type of `AnInterface.Nested<Number>` is the `ClassDoc` representing `AnInterface`, and the containing type of `Outer<String>.Inner<Number>` is the `ParameterizedType` representing `Outer<String>`.

Returns:
  the type that contains this type as a member.