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.
  • Field Details

    • target

      private final AnnotationAppender.Target target
      The target onto which an annotation write process is to be applied.
  • Constructor Details

    • Default

      public Default(AnnotationAppender.Target target)
      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 or null 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 interface AnnotationAppender
      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 interface AnnotationAppender
      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.