@HashCodeAndEqualsPlugin.Enhance public class RepeatedAnnotationPlugin extends Plugin.ForElementMatcher
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.Modifier and Type | Class and Description |
---|---|
static interface |
RepeatedAnnotationPlugin.Enhance
Indicates that the annotated annotation should be repeatable by the supplied annotation.
|
protected static class |
RepeatedAnnotationPlugin.RepeatedAnnotationAppender
A type attribute appender that adds a repeated annotation for a target type.
|
Plugin.Engine, Plugin.Factory, Plugin.ForElementMatcher, Plugin.NoOp, Plugin.WithInitialization, Plugin.WithPreprocessor
ElementMatcher.Junction<S>
Constructor and Description |
---|
RepeatedAnnotationPlugin()
Creates a new plugin for creating repeated annotations.
|
Modifier and Type | Method and Description |
---|---|
DynamicType.Builder<?> |
apply(DynamicType.Builder<?> builder,
TypeDescription typeDescription,
ClassFileLocator classFileLocator)
Applies this plugin.
|
void |
close() |
matches
public RepeatedAnnotationPlugin()
public DynamicType.Builder<?> apply(DynamicType.Builder<?> builder, TypeDescription typeDescription, ClassFileLocator classFileLocator)
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.public void close()
Copyright © 2014–2024. All rights reserved.