All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.bytebuddy.build.Plugin Maven / Gradle / Ivy

Go to download

Byte Buddy is a Java library for creating Java classes at run time. This artifact is a build of Byte Buddy with a remaining dependency onto ASM. You should never depend on this module without repackaging Byte Buddy and ASM into your own namespace.

There is a newer version: 1.15.1
Show newest version
package net.bytebuddy.build;

import net.bytebuddy.description.type.TypeDescription;
import net.bytebuddy.dynamic.DynamicType;
import net.bytebuddy.matcher.ElementMatcher;

/**
 * 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.
 */
public interface Plugin extends ElementMatcher {

    /**
     * Applies this plugin.
     *
     * @param builder         The builder to use as a basis for the applied transformation.
     * @param typeDescription The type being transformed.
     * @return The supplied builder with additional transformations registered.
     */
    DynamicType.Builder apply(DynamicType.Builder builder, TypeDescription typeDescription);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy