Spec-Zone.ru › OpenJDK 27

Interface Signature.ClassTypeSig

All Superinterfaces:
Signature, Signature.RefTypeSig, Signature.ThrowableSig
Enclosing interface:
Signature
public static sealed interface Signature.ClassTypeSig extends Signature.RefTypeSig, Signature.ThrowableSig
Models the signature of a possibly-parameterized class or interface type.

These are examples of class type signatures:

  • Lcom/example/Outer; for Outer
    Has class name com/example/Outer and no outer type or type argument.
  • Lcom/example/Outer$Nested<TA;>; for Outer.Nested<A>
    Has class name com/example/Outer$Nested representing a nested class, no outer type, and a single type argument of type variable A.
  • Lcom/example/GenericOuter<TA;>.Inner; for GenericOuter<A>.Inner
    Has class name Inner, a simple class name, outer type Lcom/example/GenericOuter<TA;>; for GenericOuter<A>, and no type argument.

If the outer type exists, the class name is the simple name of the nested type. Otherwise, it is a binary name in internal form (separated by /).

If a nested type does not have any enclosing parameterization, it may be represented without an outer type and as an internal binary name, in which nesting is represented by $ instead of ..

See Java Virtual Machine Specification:
4.7.9.1 Signatures
Since:
24
See Also:
  • Type
  • ParameterizedType

Nested Class Summary

Nested classes/interfaces declared in interface Signature

Signature.ArrayTypeSig, Signature.BaseTypeSig, Signature.ClassTypeSig, Signature.RefTypeSig, Signature.ThrowableSig, Signature.TypeArg, Signature.TypeParam, Signature.TypeVarSig
Modifier and Type Interface Description
static interface  Signature.ArrayTypeSig
Models the signature of an array type.
static interface  Signature.BaseTypeSig
Models the signature of a primitive type (JLS §4.2) or void.
static interface  Signature.ClassTypeSig
Models the signature of a possibly-parameterized class or interface type.
static interface  Signature.RefTypeSig
Models the signature of a reference type, which may be a class, interface, type variable, or array type.
static interface  Signature.ThrowableSig
Marker interface for a signature for a throwable type.
static interface  Signature.TypeArg
Models a type argument, an argument to a type parameter.
static interface  Signature.TypeParam
Models a signature for a type parameter of a generic class, interface, method, or constructor, which introduces a type variable.
static interface  Signature.TypeVarSig
Models the signature of a type variable.

Method Summary

Modifier and Type Method Description
default ClassDesc classDesc()
Returns this class or interface, as a symbolic descriptor.
String className()
Returns the class or interface name; includes the slash-separated package name if there is no outer type.
static Signature.ClassTypeSig of(Signature.ClassTypeSig outerType, ClassDesc className, Signature.TypeArg... typeArgs)
Deprecated, for removal: This API element is subject to removal in a future version.
The resulting signature does not denote the class represented by className when outerType is not null.
static Signature.ClassTypeSig of(Signature.ClassTypeSig outerType, String className, Signature.TypeArg... typeArgs)
Returns a class type signature.
static Signature.ClassTypeSig of(ClassDesc className, Signature.TypeArg... typeArgs)
Returns a class or interface signature without an outer type.
static Signature.ClassTypeSig of(String className, Signature.TypeArg... typeArgs)
Returns a class or interface signature without an outer type.
Optional<Signature.ClassTypeSig> outerType()
Returns the signature of the class that this class is a member of, only if this is a member class.
List<Signature.TypeArg> typeArgs()
Returns the type arguments of this class or interface.

Methods declared in interface Signature

signatureString
Modifier and Type Method Description
String signatureString()
Returns the raw signature string.

Method Details

outerType

Optional<Signature.ClassTypeSig> outerType()
Returns the signature of the class that this class is a member of, only if this is a member class. Note that the outer class may be absent if this is a member class without any parameterized enclosing type.
Returns:
the signature of the class that this class is a member of, only if this is a member class
See Java Language Specification:
4.5 Parameterized Types

className

String className()
Returns the class or interface name; includes the slash-separated package name if there is no outer type. Note this may indicate a nested class name with $ separators if there is no parameterized enclosing type.
Returns:
the class or interface name; includes the slash-separated package name if there is no outer type

classDesc

default ClassDesc classDesc()
Returns this class or interface, as a symbolic descriptor.
Returns:
this class or interface, as a symbolic descriptor

typeArgs

List<Signature.TypeArg> typeArgs()
Returns the type arguments of this class or interface. Note that the outer type may have more type arguments.
Returns:
the type arguments of this class or interface
See Java Language Specification:
4.5 Parameterized Types

of

static Signature.ClassTypeSig of(ClassDesc className, Signature.TypeArg... typeArgs)
Returns a class or interface signature without an outer type.
Parameters:
className - the name of the class or interface
typeArgs - the type arguments
Returns:
a class or interface signature without an outer type
Throws:
IllegalArgumentException - if className does not represent a class or interface, or if it cannot be denoted

of

@Deprecated(since="26", forRemoval=true) static Signature.ClassTypeSig of(Signature.ClassTypeSig outerType, ClassDesc className, Signature.TypeArg... typeArgs)
Deprecated, for removal: This API element is subject to removal in a future version.
The resulting signature does not denote the class represented by className when outerType is not null. Use of(ClassTypeSig, String, TypeArg...) instead.
Returns a class or interface signature.
Parameters:
outerType - signature of the outer type, may be null
className - the name of this class or interface
typeArgs - the type arguments
Returns:
a class or interface signature
Throws:
IllegalArgumentException - if className does not represent a class or interface, or if it cannot be denoted

of

static Signature.ClassTypeSig of(String className, Signature.TypeArg... typeArgs)
Returns a class or interface signature without an outer type.
Parameters:
className - the name of the class or interface, may use / to separate
typeArgs - the type arguments
Returns:
a class or interface signature without an outer type
Throws:
IllegalArgumentException - if className cannot be denoted

of

static Signature.ClassTypeSig of(Signature.ClassTypeSig outerType, String className, Signature.TypeArg... typeArgs)
Returns a class type signature.
Parameters:
outerType - signature of the outer type, may be null
className - the name of this class or interface, may use / to separate if outer type is absent
typeArgs - the type arguments
Returns:
a class type signature
Throws:
IllegalArgumentException - if className cannot be denoted

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API