Package net.bytebuddy.description.type
Class TypeDescription.Generic.OfWildcardType.Latent
- java.lang.Object
-
- net.bytebuddy.description.ModifierReviewable.AbstractBase
-
- net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase
-
- net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType
-
- net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.Latent
-
- 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.OfWildcardType
public static class TypeDescription.Generic.OfWildcardType.Latent extends TypeDescription.Generic.OfWildcardType
A latent description of a wildcard type.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType
TypeDescription.Generic.OfWildcardType.ForLoadedType, TypeDescription.Generic.OfWildcardType.Latent
-
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.util.List<? extends TypeDescription.Generic>
lowerBounds
The wildcard's lower bounds.private java.util.List<? extends TypeDescription.Generic>
upperBounds
The wildcard's upper bounds.-
Fields inherited from class net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType
SYMBOL
-
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
Latent(java.util.List<? extends TypeDescription.Generic> upperBounds, java.util.List<? extends TypeDescription.Generic> lowerBounds, AnnotationSource annotationSource)
Creates a description of a latent wildcard.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static TypeDescription.Generic
boundedAbove(TypeDescription.Generic upperBound, AnnotationSource annotationSource)
Creates a wildcard with an upper bound.static TypeDescription.Generic
boundedBelow(TypeDescription.Generic lowerBound, AnnotationSource annotationSource)
Creates a wildcard with a lower bound.AnnotationList
getDeclaredAnnotations()
Returns a list of annotations that are declared by this instance.TypeList.Generic
getLowerBounds()
Returns the lower bounds of this type.TypeList.Generic
getUpperBounds()
Returns the upper bounds of this type.static TypeDescription.Generic
unbounded(AnnotationSource annotationSource)
Creates an unbounded wildcard.-
Methods inherited from class net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType
accept, asErasure, equals, findBindingOf, getActualName, getComponentType, getDeclaredFields, getDeclaredMethods, getInterfaces, getOwnerType, getRecordComponents, getSort, getStackSize, getSuperClass, getSymbol, getTypeArguments, getTypeName, getTypeVariableSource, hashCode, isArray, isPrimitive, isRecord, iterator, 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
-
upperBounds
private final java.util.List<? extends TypeDescription.Generic> upperBounds
The wildcard's upper bounds.
-
lowerBounds
private final java.util.List<? extends TypeDescription.Generic> lowerBounds
The wildcard's lower bounds.
-
annotationSource
private final AnnotationSource annotationSource
The annotation source to query for the declared annotations.
-
-
Constructor Detail
-
Latent
protected Latent(java.util.List<? extends TypeDescription.Generic> upperBounds, java.util.List<? extends TypeDescription.Generic> lowerBounds, AnnotationSource annotationSource)
Creates a description of a latent wildcard.- Parameters:
upperBounds
- The wildcard's upper bounds.lowerBounds
- The wildcard's lower bounds.annotationSource
- The annotation source to query for the declared annotations.
-
-
Method Detail
-
unbounded
public static TypeDescription.Generic unbounded(AnnotationSource annotationSource)
Creates an unbounded wildcard. Such a wildcard is implicitly bound above by theObject
type.- Parameters:
annotationSource
- The annotation source to query for the declared annotations.- Returns:
- A description of an unbounded wildcard.
-
boundedAbove
public static TypeDescription.Generic boundedAbove(TypeDescription.Generic upperBound, AnnotationSource annotationSource)
Creates a wildcard with an upper bound.- Parameters:
upperBound
- The upper bound of the wildcard.annotationSource
- The annotation source to query for the declared annotations.- Returns:
- A wildcard with the given upper bound.
-
boundedBelow
public static TypeDescription.Generic boundedBelow(TypeDescription.Generic lowerBound, AnnotationSource annotationSource)
Creates a wildcard with a lower bound. Such a wildcard is implicitly bounded above by theObject
type.- Parameters:
lowerBound
- The lower bound of the wildcard.annotationSource
- The annotation source to query for the declared annotations.- Returns:
- A wildcard with the given lower bound.
-
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.
-
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.
-
getDeclaredAnnotations
public AnnotationList getDeclaredAnnotations()
Returns a list of annotations that are declared by this instance.- Returns:
- A list of declared annotations.
-
-