Class RepeatedAnnotationPlugin

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.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.
    • Constructor Detail

      • RepeatedAnnotationPlugin

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

      • 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()