Class TypeDescription.Generic.OfTypeVariable.Symbolic
- java.lang.Object
-
- net.bytebuddy.description.ModifierReviewable.AbstractBase
-
- net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase
-
- net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.Symbolic
-
- All Implemented Interfaces:
java.lang.Iterable<TypeDefinition>
,AnnotationSource
,ModifierReviewable
,ModifierReviewable.ForFieldDescription
,ModifierReviewable.ForMethodDescription
,ModifierReviewable.ForParameterDescription
,ModifierReviewable.ForTypeDefinition
,ModifierReviewable.OfAbstraction
,ModifierReviewable.OfByteCodeElement
,ModifierReviewable.OfEnumeration
,NamedElement
,TypeDefinition
,TypeDescription.Generic
- Enclosing class:
- TypeDescription.Generic.OfTypeVariable
public static class TypeDescription.Generic.OfTypeVariable.Symbolic extends TypeDescription.Generic.AbstractBase
Implementation of a symbolic type variable.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.annotation.AnnotationSource
AnnotationSource.Empty, AnnotationSource.Explicit
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.ModifierReviewable
ModifierReviewable.AbstractBase, ModifierReviewable.ForFieldDescription, ModifierReviewable.ForMethodDescription, ModifierReviewable.ForParameterDescription, ModifierReviewable.ForTypeDefinition, ModifierReviewable.OfAbstraction, ModifierReviewable.OfByteCodeElement, ModifierReviewable.OfEnumeration
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.NamedElement
NamedElement.WithDescriptor, NamedElement.WithGenericName, NamedElement.WithOptionalName, NamedElement.WithRuntimeName
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.type.TypeDefinition
TypeDefinition.Sort, TypeDefinition.SuperClassIterator
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.type.TypeDescription.Generic
TypeDescription.Generic.AbstractBase, TypeDescription.Generic.AnnotationReader, TypeDescription.Generic.Builder, TypeDescription.Generic.LazyProjection, TypeDescription.Generic.OfGenericArray, TypeDescription.Generic.OfNonGenericType, TypeDescription.Generic.OfParameterizedType, TypeDescription.Generic.OfTypeVariable, TypeDescription.Generic.OfWildcardType, TypeDescription.Generic.Visitor<T>
-
-
Field Summary
Fields Modifier and Type Field Description private AnnotationSource
annotationSource
The annotation source to query for the declared annotations.private java.lang.String
symbol
The symbol of the symbolic type variable.-
Fields inherited from interface net.bytebuddy.description.ModifierReviewable
EMPTY_MASK
-
Fields inherited from interface net.bytebuddy.description.NamedElement
EMPTY_NAME, NO_NAME
-
Fields inherited from interface net.bytebuddy.description.type.TypeDefinition
RAW_TYPES_PROPERTY
-
Fields inherited from interface net.bytebuddy.description.type.TypeDescription.Generic
ANNOTATION, CLASS, OBJECT, UNDEFINED, VOID
-
-
Constructor Summary
Constructors Constructor Description Symbolic(java.lang.String symbol, AnnotationSource annotationSource)
Creates a symbolic type variable.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T
accept(TypeDescription.Generic.Visitor<T> visitor)
Applies a visitor to this generic type description.TypeDescription
asErasure()
Returns the erasure of this type.boolean
equals(java.lang.Object other)
TypeDescription.Generic
findBindingOf(TypeDescription.Generic typeVariable)
Returns the parameter binding of the supplied type variable.java.lang.String
getActualName()
Returns the name of this element as it is found in the source code.TypeDescription.Generic
getComponentType()
Returns the component type of this type.AnnotationList
getDeclaredAnnotations()
Returns a list of annotations that are declared by this instance.FieldList<FieldDescription.InGenericShape>
getDeclaredFields()
Returns the fields that this type declares.MethodList<MethodDescription.InGenericShape>
getDeclaredMethods()
Returns the methods that this type declares.TypeList.Generic
getInterfaces()
Returns the interfaces that this type implements.TypeList.Generic
getLowerBounds()
Returns the lower bounds of this type.TypeDescription.Generic
getOwnerType()
Returns the owner type of this type.RecordComponentList<RecordComponentDescription.InGenericShape>
getRecordComponents()
Returns the list of record components that are declared by this type.TypeDefinition.Sort
getSort()
Returns the sort of the generic type this instance represents.StackSize
getStackSize()
Returns the size of the type described by this instance.TypeDescription.Generic
getSuperClass()
Returns the super class of this type.java.lang.String
getSymbol()
Returns the symbol of this type variable.TypeList.Generic
getTypeArguments()
Returns the type arguments of this type.java.lang.String
getTypeName()
Returns the name of the type.TypeVariableSource
getTypeVariableSource()
Returns the source of this type variable.TypeList.Generic
getUpperBounds()
Returns the upper bounds of this type.int
hashCode()
boolean
isArray()
Checks if the type described by this entity is an array.boolean
isPrimitive()
Checks if the type described by this entity is a primitive type.boolean
isRecord()
Checks if this type is a Java record.java.util.Iterator<TypeDefinition>
iterator()
boolean
represents(java.lang.reflect.Type type)
Checks if the type described by this instance representstype
.java.lang.String
toString()
-
Methods inherited from class net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase
asGenericType, asRawType, getModifiers
-
Methods inherited from class net.bytebuddy.description.ModifierReviewable.AbstractBase
getEnumerationState, getFieldManifestation, getFieldPersistence, getMethodManifestation, getMethodStrictness, getOwnership, getParameterManifestation, getProvisioningState, getSynchronizationState, getSyntheticState, getTypeManifestation, getVisibility, isAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isMandated, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSynchronized, isSynthetic, isTransient, isVarArgs, isVolatile
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable
getSyntheticState, isFinal, isSynthetic
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.ForTypeDefinition
getTypeManifestation, isAnnotation, isInterface
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.OfAbstraction
isAbstract
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.OfByteCodeElement
getOwnership, getVisibility, isDeprecated, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.OfEnumeration
getEnumerationState, isEnum
-
-
-
-
Field Detail
-
symbol
private final java.lang.String symbol
The symbol of the symbolic type variable.
-
annotationSource
private final AnnotationSource annotationSource
The annotation source to query for the declared annotations.
-
-
Constructor Detail
-
Symbolic
public Symbolic(java.lang.String symbol, AnnotationSource annotationSource)
Creates a symbolic type variable.- Parameters:
symbol
- The symbol of the symbolic type variable.annotationSource
- The annotation source to query for the declared annotations.
-
-
Method Detail
-
getSort
public TypeDefinition.Sort getSort()
Returns the sort of the generic type this instance represents.- Returns:
- The sort of the generic type.
-
getSymbol
public java.lang.String getSymbol()
Returns the symbol of this type variable. A symbol is only well-defined for type variables (TypeDefinition.Sort.VARIABLE
,TypeDefinition.Sort.VARIABLE_SYMBOLIC
). For other types, this method throws anIllegalStateException
.- Returns:
- This type's type variable symbol.
-
getDeclaredAnnotations
public AnnotationList getDeclaredAnnotations()
Returns a list of annotations that are declared by this instance.- Returns:
- A list of declared annotations.
-
asErasure
public TypeDescription asErasure()
Returns the erasure of this type. Wildcard types (TypeDefinition.Sort.WILDCARD
) do not have a well-defined erasure and cause anIllegalStateException
to be thrown.- Returns:
- The erasure of this type.
-
getUpperBounds
public TypeList.Generic getUpperBounds()
Returns the upper bounds of this type. Any type with a well-defined upper bound is bound by at least one type. If no such type is defined, the bound is implicitly
Object
.Only non-symbolic type variables (
TypeDefinition.Sort.VARIABLE
, and wildcard types (TypeDefinition.Sort.WILDCARD
) have well-defined upper bounds. For other types, anIllegalStateException
is thrown.- Returns:
- The upper bounds of this type.
-
getTypeVariableSource
public TypeVariableSource getTypeVariableSource()
Returns the source of this type variable. A type variable source is only well-defined for an attached type variable (TypeDefinition.Sort.VARIABLE
. For other types, this method throws anIllegalStateException
.- Returns:
- This type's type variable source.
-
getSuperClass
public TypeDescription.Generic getSuperClass()
Returns the super class of this type. A super type is only defined for non-generic types (TypeDefinition.Sort.NON_GENERIC
), parameterized types (TypeDefinition.Sort.PARAMETERIZED
) or generic array types (TypeDefinition.Sort.GENERIC_ARRAY
) types. Interface types and theObject
class do not define a super class wherenull
is returned. Array types defineObject
as their direct super class.- Returns:
- The super class of this type or
null
if no super class exists for this type.
-
getInterfaces
public TypeList.Generic getInterfaces()
Returns the interfaces that this type implements. A super type is only defined for non-generic types (TypeDefinition.Sort.NON_GENERIC
), parameterized types (TypeDefinition.Sort.PARAMETERIZED
) or generic array types (TypeDefinition.Sort.GENERIC_ARRAY
) types.- Returns:
- The interfaces that this type implements.
-
getDeclaredFields
public FieldList<FieldDescription.InGenericShape> getDeclaredFields()
Returns the fields that this type declares. A super type is only defined for non-generic types (TypeDefinition.Sort.NON_GENERIC
), parameterized types (TypeDefinition.Sort.PARAMETERIZED
) or generic array types (TypeDefinition.Sort.GENERIC_ARRAY
) types. Generic array types never define fields and the returned list is always empty for such types.- Returns:
- The fields that this type declares. A super type is only defined for non-generic types (
TypeDefinition.Sort.NON_GENERIC
), parameterized types (TypeDefinition.Sort.PARAMETERIZED
) or generic array types (TypeDefinition.Sort.GENERIC_ARRAY
) types. Generic array types never define methods and the returned list is always empty for such types.
-
getDeclaredMethods
public MethodList<MethodDescription.InGenericShape> getDeclaredMethods()
Returns the methods that this type declares.- Returns:
- The methods that this type declares.
-
getRecordComponents
public RecordComponentList<RecordComponentDescription.InGenericShape> getRecordComponents()
Returns the list of record components that are declared by this type. If this type is not a record, the returned list is empty.- Returns:
- A list of record components that this type declares.
-
getComponentType
public TypeDescription.Generic getComponentType()
Returns the component type of this type.
Only non-generic types (
TypeDefinition.Sort.NON_GENERIC
) and generic array typesTypeDefinition.Sort.GENERIC_ARRAY
) define a component type. For other types, anIllegalStateException
is thrown.- Returns:
- The component type of this type or
null
if this type does not represent an array type.
-
getTypeArguments
public TypeList.Generic getTypeArguments()
Returns the type arguments of this type.
Parameters are only well-defined for parameterized types (
TypeDefinition.Sort.PARAMETERIZED
). For all other types, this method throws anIllegalStateException
.- Returns:
- A list of this type's type parameters.
-
findBindingOf
public TypeDescription.Generic findBindingOf(TypeDescription.Generic typeVariable)
Returns the parameter binding of the supplied type variable.
This method must only be called for parameterized types (
TypeDefinition.Sort.PARAMETERIZED
). For all other types, this method throws anIllegalStateException
.- Parameters:
typeVariable
- The type variable for which a value should be located.- Returns:
- The value that is bound to the supplied type variable or
null
if the type variable is not bound by this parameterized type.
-
getLowerBounds
public TypeList.Generic getLowerBounds()
Returns the lower bounds of this type.
Only wildcard types (
TypeDefinition.Sort.WILDCARD
) define a lower bound. For other types, anIllegalStateException
is thrown.- Returns:
- The lower bounds of this type.
-
getOwnerType
public TypeDescription.Generic getOwnerType()
Returns the owner type of this type. A type's owner type describes a nested type's declaring type. If it exists, the returned type can be a non-generic or parameterized type. If a class has no declaring type,
null
is returned.An owner type is only well-defined for parameterized types (
TypeDefinition.Sort.PARAMETERIZED
), for non-generic types (TypeDefinition.Sort.NON_GENERIC
) and for generic arrays (TypeDefinition.Sort.GENERIC_ARRAY
). For all other types, this method throws anIllegalStateException
.- Returns:
- This type's owner type or
null
if no owner type exists.
-
getTypeName
public java.lang.String getTypeName()
Returns the name of the type. For generic types, this name is theirObject.toString()
representations. For a non-generic type, it is the fully qualified binary name of the type.- Returns:
- The name of this type.
-
getActualName
public java.lang.String getActualName()
Returns the name of this element as it is found in the source code. If no such name exists, an empty string is returned.- Returns:
- The name of this element as given in a Java program's source code.
-
accept
public <T> T accept(TypeDescription.Generic.Visitor<T> visitor)
Applies a visitor to this generic type description.- Type Parameters:
T
- The value that this visitor yields.- Parameters:
visitor
- The visitor to apply.- Returns:
- The visitor's return value.
-
getStackSize
public StackSize getStackSize()
Returns the size of the type described by this instance. Wildcard types (TypeDefinition.Sort.WILDCARD
do not have a well-defined a stack size and cause anIllegalStateException
to be thrown.- Returns:
- The size of the type described by this instance.
-
isArray
public boolean isArray()
Checks if the type described by this entity is an array.- Returns:
true
if this type description represents an array.
-
isPrimitive
public boolean isPrimitive()
Checks if the type described by this entity is a primitive type.- Returns:
true
if this type description represents a primitive type.
-
isRecord
public boolean isRecord()
Checks if this type is a Java record.- Returns:
true
if this type is a Java record.
-
represents
public boolean represents(java.lang.reflect.Type type)
Checks if the type described by this instance representstype
.- Specified by:
represents
in interfaceTypeDefinition
- Overrides:
represents
in classTypeDescription.Generic.AbstractBase
- Parameters:
type
- The type of interest.- Returns:
true
if the type described by this instance representstype
.
-
iterator
public java.util.Iterator<TypeDefinition> iterator()
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-