Signature.TypeParam (Java SE 23 & JDK 23)
Description: declaration: module: java.base, package: java.lang.classfile, interface: Signature, interface: TypeParam
Keywords: java.lang.classfile.Signature.TypeParam interface

# Interface Signature.TypeParam

Enclosing interface:
  `SignaturePREVIEW`

public static sealed interface Signature.TypeParam
`TypeParam` is a preview API of the Java platform.
Programs can only use `TypeParam` when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Models a signature for a type parameter of a generic class or method.

Since:
  22

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Optional<Signature.RefTypeSigPREVIEW>`
  `classBound()`
  Returns the class bound of the type parameter.
  `String`
  `identifier()`
  Returns the name of the type parameter.
  `List<Signature.RefTypeSigPREVIEW>`
  `interfaceBounds()`
  Returns the interface bounds of the type parameter.
  `static Signature.TypeParamPREVIEW`
  `of(String identifier, Signature.RefTypeSigPREVIEW classBound, Signature.RefTypeSigPREVIEW... interfaceBounds)`
  Returns a signature for a type parameter.
  `static Signature.TypeParamPREVIEW`
  `of(String identifier, Optional<Signature.RefTypeSigPREVIEW> classBound, Signature.RefTypeSigPREVIEW... interfaceBounds)`
  Returns a signature for a type parameter.

- ## Method Details

  - ### identifier

    String identifier()
    Returns the name of the type parameter.
    Returns:
      the name of the type parameter

  - ### classBound

    Optional<Signature.RefTypeSigPREVIEW> classBound()
    Returns the class bound of the type parameter.
    Returns:
      the class bound of the type parameter

  - ### interfaceBounds

    List<Signature.RefTypeSigPREVIEW> interfaceBounds()
    Returns the interface bounds of the type parameter.
    Returns:
      the interface bounds of the type parameter

  - ### of

    static Signature.TypeParamPREVIEW of(String identifier, Signature.RefTypeSigPREVIEW classBound, Signature.RefTypeSigPREVIEW... interfaceBounds)
    Returns a signature for a type parameter.
    Parameters:
      `identifier` - the name of the type parameter
      `classBound` - the class bound of the type parameter
      `interfaceBounds` - the interface bounds of the type parameter
    Returns:
      a signature for a type parameter

  - ### of

    static Signature.TypeParamPREVIEW of(String identifier, Optional<Signature.RefTypeSigPREVIEW> classBound, Signature.RefTypeSigPREVIEW... interfaceBounds)
    Returns a signature for a type parameter.
    Parameters:
      `identifier` - the name of the type parameter
      `classBound` - the class bound of the type parameter
      `interfaceBounds` - the interface bounds of the type parameter
    Returns:
      a signature for a type parameter