public interface Plugin extends ElementMatcher<TypeDescription>, Closeable
A plugin that allows for the application of Byte Buddy transformations during a build process. This plugin's transformation is applied to any type matching this plugin's type matcher. Plugin types must be public, non-abstract and must declare a public default constructor to work.
A plugin is always used within the scope of a single plugin engine application and is disposed after closing. It might be used
concurrently and must assure its own thread-safety if run outside of a Plugin.Engine or when using a parallel
Plugin.Engine.Dispatcher.
| Modifier and Type | Interface and Description |
|---|---|
static interface |
Plugin.Engine
A plugin engine allows the application of one or more plugins on class files found at a
Plugin.Engine.Source which are
then transferred and consumed by a Target. |
static interface |
Plugin.Factory
A factory for providing a build plugin.
|
static class |
Plugin.ForElementMatcher
An abstract base for a
Plugin that matches types by a given ElementMatcher. |
static class |
Plugin.NoOp
A non-operational plugin that does not instrument any type.
|
static interface |
Plugin.WithPreprocessor
A plugin that applies a preprocessor, i.e.
|
ElementMatcher.Junction<S>| Modifier and Type | Method and Description |
|---|---|
DynamicType.Builder<?> |
apply(DynamicType.Builder<?> builder,
TypeDescription typeDescription,
ClassFileLocator classFileLocator)
Applies this plugin.
|
matchesDynamicType.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.Copyright © 2014–2020. All rights reserved.