Class AnnotationAppender.Default
java.lang.Object
net.bytebuddy.implementation.attribute.AnnotationAppender.Default
- All Implemented Interfaces:
AnnotationAppender
- Enclosing interface:
- AnnotationAppender
@Enhance
public static class AnnotationAppender.Default
extends Object
implements AnnotationAppender
A default implementation for an annotation appender that writes annotations to a given byte consumer
represented by an ASM
AnnotationVisitor
.-
Nested Class Summary
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.attribute.AnnotationAppender
AnnotationAppender.Default, AnnotationAppender.ForTypeAnnotations, AnnotationAppender.Target
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AnnotationAppender.Target
The target onto which an annotation write process is to be applied.Fields inherited from interface net.bytebuddy.implementation.attribute.AnnotationAppender
NO_NAME
-
Constructor Summary
ConstructorsConstructorDescriptionDefault
(AnnotationAppender.Target target) Creates a default annotation appender. -
Method Summary
Modifier and TypeMethodDescriptionappend
(AnnotationDescription annotationDescription, AnnotationValueFilter annotationValueFilter) Writes the given annotation to the target that this appender represents.append
(AnnotationDescription annotationDescription, AnnotationValueFilter annotationValueFilter, int typeReference, String typePath) Writes the given type annotation to the target that this appender represents.static void
apply
(org.objectweb.asm.AnnotationVisitor annotationVisitor, TypeDescription valueType, String name, Object value) Performs the writing of a given annotation value to an annotation visitor.private void
doAppend
(AnnotationDescription annotation, boolean visible, AnnotationValueFilter annotationValueFilter) Tries to append a given annotation by reflectively reading an annotation.private void
doAppend
(AnnotationDescription annotation, boolean visible, AnnotationValueFilter annotationValueFilter, int typeReference, String typePath) Tries to append a given annotation by reflectively reading an annotation.private static void
handle
(org.objectweb.asm.AnnotationVisitor annotationVisitor, AnnotationDescription annotation, AnnotationValueFilter annotationValueFilter) Handles the writing of a single annotation to an annotation visitor.
-
Field Details
-
target
The target onto which an annotation write process is to be applied.
-
-
Constructor Details
-
Default
Creates a default annotation appender.- Parameters:
target
- The target to which annotations are written to.
-
-
Method Details
-
handle
private static void handle(org.objectweb.asm.AnnotationVisitor annotationVisitor, AnnotationDescription annotation, AnnotationValueFilter annotationValueFilter) Handles the writing of a single annotation to an annotation visitor.- Parameters:
annotationVisitor
- The annotation visitor the write process is to be applied on.annotation
- The annotation to be written.annotationValueFilter
- The value filter to apply for discovering which values of an annotation should be written.
-
apply
public static void apply(org.objectweb.asm.AnnotationVisitor annotationVisitor, TypeDescription valueType, @MaybeNull String name, Object value) Performs the writing of a given annotation value to an annotation visitor.- Parameters:
annotationVisitor
- The annotation visitor the write process is to be applied on.valueType
- The type of the annotation.name
- The name of the annotation type ornull
if no name is available..value
- The annotation's value.
-
append
public AnnotationAppender append(AnnotationDescription annotationDescription, AnnotationValueFilter annotationValueFilter) Writes the given annotation to the target that this appender represents.- Specified by:
append
in interfaceAnnotationAppender
- Parameters:
annotationDescription
- The annotation to be written.annotationValueFilter
- The annotation value filter to use.- Returns:
- Usually
this
or any other annotation appender capable of writing another annotation to the specified target.
-
doAppend
private void doAppend(AnnotationDescription annotation, boolean visible, AnnotationValueFilter annotationValueFilter) Tries to append a given annotation by reflectively reading an annotation.- Parameters:
annotation
- The annotation to be written.visible
-true
if this annotation should be treated as visible at runtime.annotationValueFilter
- The annotation value filter to apply.
-
append
public AnnotationAppender append(AnnotationDescription annotationDescription, AnnotationValueFilter annotationValueFilter, int typeReference, String typePath) Writes the given type annotation to the target that this appender represents.- Specified by:
append
in interfaceAnnotationAppender
- Parameters:
annotationDescription
- The annotation to be written.annotationValueFilter
- The annotation value filter to use.typeReference
- The type variable's type reference.typePath
- The type variable's type path.- Returns:
- Usually
this
or any other annotation appender capable of writing another annotation to the specified target.
-
doAppend
private void doAppend(AnnotationDescription annotation, boolean visible, AnnotationValueFilter annotationValueFilter, int typeReference, String typePath) Tries to append a given annotation by reflectively reading an annotation.- Parameters:
annotation
- The annotation to be written.visible
-true
if this annotation should be treated as visible at runtime.annotationValueFilter
- The annotation value filter to apply.typeReference
- The type annotation's type reference.typePath
- The type annotation's type path.
-