Package net.bytebuddy.description.type
Class TypeDescription.SuperTypeLoading.ClassLoadingTypeProjection
- java.lang.Object
-
- net.bytebuddy.description.ModifierReviewable.AbstractBase
-
- net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase
-
- net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection
-
- net.bytebuddy.description.type.TypeDescription.SuperTypeLoading.ClassLoadingTypeProjection
-
- 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.SuperTypeLoading
protected static class TypeDescription.SuperTypeLoading.ClassLoadingTypeProjection extends TypeDescription.Generic.LazyProjection
A type projection that attempts to load any super type of the delegate type.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection
TypeDescription.Generic.LazyProjection.ForLoadedFieldType, TypeDescription.Generic.LazyProjection.ForLoadedReturnType, TypeDescription.Generic.LazyProjection.ForLoadedSuperClass, TypeDescription.Generic.LazyProjection.OfConstructorParameter, TypeDescription.Generic.LazyProjection.OfMethodParameter, TypeDescription.Generic.LazyProjection.OfRecordComponent, TypeDescription.Generic.LazyProjection.WithEagerNavigation, TypeDescription.Generic.LazyProjection.WithLazyNavigation, TypeDescription.Generic.LazyProjection.WithResolvedErasure
-
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 java.lang.ClassLoader
classLoader
The class loader to use for loading types which might benull
to represent the bootstrap class loader.private TypeDescription.SuperTypeLoading.ClassLoadingDelegate
classLoadingDelegate
A delegate for loading a type.private TypeDescription.Generic
delegate
The delegate type description.-
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 Modifier Constructor Description protected
ClassLoadingTypeProjection(TypeDescription.Generic delegate, java.lang.ClassLoader classLoader, TypeDescription.SuperTypeLoading.ClassLoadingDelegate classLoadingDelegate)
Creates a class loading type description.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TypeDescription
asErasure()
Returns the erasure of this type.AnnotationList
getDeclaredAnnotations()
Returns a list of annotations that are declared by this instance.TypeList.Generic
getInterfaces()
Returns the interfaces that this type implements.TypeDescription.Generic
getSuperClass()
Returns the super class of this type.java.util.Iterator<TypeDefinition>
iterator()
protected TypeDescription.Generic
resolve()
Resolves the actual generic type.-
Methods inherited from class net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection
accept, equals, findBindingOf, getActualName, getComponentType, getDeclaredFields, getDeclaredMethods, getLowerBounds, getOwnerType, getRecordComponents, getSort, getStackSize, getSymbol, getTypeArguments, getTypeName, getTypeVariableSource, getUpperBounds, hashCode, isArray, isPrimitive, isRecord, represents, 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
-
delegate
private final TypeDescription.Generic delegate
The delegate type description.
-
classLoader
private final java.lang.ClassLoader classLoader
The class loader to use for loading types which might benull
to represent the bootstrap class loader.
-
classLoadingDelegate
private final TypeDescription.SuperTypeLoading.ClassLoadingDelegate classLoadingDelegate
A delegate for loading a type.
-
-
Constructor Detail
-
ClassLoadingTypeProjection
protected ClassLoadingTypeProjection(TypeDescription.Generic delegate, java.lang.ClassLoader classLoader, TypeDescription.SuperTypeLoading.ClassLoadingDelegate classLoadingDelegate)
Creates a class loading type description.- Parameters:
delegate
- The delegate type description.classLoader
- The class loader to use for loading types which might benull
to represent the bootstrap class loader.classLoadingDelegate
- A delegate for loading a type.
-
-
Method Detail
-
getDeclaredAnnotations
public AnnotationList getDeclaredAnnotations()
Returns a list of annotations that are declared by this instance.- Returns:
- A list of declared annotations.
-
asErasure
@Enhance("erasure") 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.
-
resolve
protected TypeDescription.Generic resolve()
Description copied from class:TypeDescription.Generic.LazyProjection
Resolves the actual generic type.- Specified by:
resolve
in classTypeDescription.Generic.LazyProjection
- Returns:
- An actual description of the represented generic type.
-
getSuperClass
@Enhance("superClass") 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
@Enhance("interfaces") 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.
-
iterator
public java.util.Iterator<TypeDefinition> iterator()
-
-