Class RepeatedAnnotationPlugin

java.lang.Object
net.bytebuddy.build.Plugin.ForElementMatcher
net.bytebuddy.build.RepeatedAnnotationPlugin
All Implemented Interfaces:
Closeable, AutoCloseable, Plugin, ElementMatcher<TypeDescription>

@Enhance public class RepeatedAnnotationPlugin extends Plugin.ForElementMatcher
A plugin that allows for adding a java.lang.annotation.Repeatable annotation even if compiled prior to Java 8 which introduces this annotation. As the annotation is not present on previous JVM versions, it is ignored at runtime for older JVM versions what makes this approach feasible.
  • Field Details

  • Constructor Details

    • RepeatedAnnotationPlugin

      public RepeatedAnnotationPlugin()
      Creates a new plugin for creating repeated annotations.
  • Method Details

    • apply

      public DynamicType.Builder<?> apply(DynamicType.Builder<?> builder, TypeDescription typeDescription, ClassFileLocator classFileLocator)
      Applies this plugin.
      Parameters:
      builder - The builder to use as a basis for the applied transformation.
      typeDescription - The type being transformed.
      classFileLocator - A class file locator that can locate other types in the scope of the project.
      Returns:
      The supplied builder with additional transformations registered.
    • close

      public void close()