Class Plugin.Engine.Default

java.lang.Object
net.bytebuddy.build.Plugin.Engine.AbstractBase
net.bytebuddy.build.Plugin.Engine.Default
All Implemented Interfaces:
Plugin.Engine
Enclosing interface:
Plugin.Engine

@Enhance public static class Plugin.Engine.Default extends Plugin.Engine.AbstractBase
A default implementation of a plugin engine.
  • Field Details

  • Constructor Details

    • Default

      public Default()
      Creates a new default plugin engine that rebases types and fails fast and on unresolved types and on live initializers.
    • Default

      public Default(ByteBuddy byteBuddy)
      Creates a new default plugin engine that rebases types and fails fast and on unresolved types and on live initializers.
      Parameters:
      byteBuddy - The Byte Buddy instance to use.
    • Default

      protected Default(ByteBuddy byteBuddy, Plugin.Engine.TypeStrategy typeStrategy)
      Creates a new default plugin engine.
      Parameters:
      byteBuddy - The Byte Buddy instance to use.
      typeStrategy - The type strategy to use.
    • Default

      protected Default(ByteBuddy byteBuddy, Plugin.Engine.TypeStrategy typeStrategy, Plugin.Engine.PoolStrategy poolStrategy, ClassFileLocator classFileLocator, Plugin.Engine.Listener listener, Plugin.Engine.ErrorHandler errorHandler, Plugin.Engine.Dispatcher.Factory dispatcherFactory, ElementMatcher.Junction<? super TypeDescription> ignoredTypeMatcher)
      Creates a new default plugin engine.
      Parameters:
      byteBuddy - The Byte Buddy instance to use.
      typeStrategy - The type strategy to use.
      poolStrategy - The pool strategy to use.
      classFileLocator - The class file locator to use.
      listener - The listener to use.
      errorHandler - The error handler to use.
      dispatcherFactory - The dispatcher factory to use.
      ignoredTypeMatcher - A matcher for types to exclude from transformation.
  • Method Details

    • of

      public static Plugin.Engine of(EntryPoint entryPoint, ClassFileVersion classFileVersion, MethodNameTransformer methodNameTransformer)
      Creates a plugin engine from an EntryPoint.
      Parameters:
      entryPoint - The entry point to resolve into a plugin engine.
      classFileVersion - The class file version to assume.
      methodNameTransformer - The method name transformer to use.
      Returns:
      An appropriate plugin engine.
    • scan

      public static Set<String> scan(ClassLoader classLoader) throws IOException
      Scans a class loader for plugins declared in a META-INF/net.bytebuddy/build.plugins file.
      Parameters:
      classLoader - The class loader to scan.
      Returns:
      A set containing all plugins that were found.
      Throws:
      IOException - If an I/O exception occurred.
    • main

      public static void main(String... argument) throws ClassNotFoundException, IOException
      Runs a plugin engine using the first and second argument as source and target file location and any additional argument as the fully qualified name of any plugin to apply.
      Parameters:
      argument - The arguments for running the plugin engine.
      Throws:
      ClassNotFoundException - If a plugin class cannot be found on the system class loader.
      IOException - If an I/O exception occurs.
    • with

      public Plugin.Engine with(ByteBuddy byteBuddy)
      Defines a new Byte Buddy instance for usage for type creation.
      Parameters:
      byteBuddy - The Byte Buddy instance to use.
      Returns:
      A new plugin engine that is equal to this engine but uses the supplied Byte Buddy instance.
    • with

      public Plugin.Engine with(Plugin.Engine.TypeStrategy typeStrategy)
      Defines a new type strategy which determines the transformation mode for any instrumented type.
      Parameters:
      typeStrategy - The type stategy to use.
      Returns:
      A new plugin engine that is equal to this engine but uses the supplied type strategy.
    • with

      public Plugin.Engine with(Plugin.Engine.PoolStrategy poolStrategy)
      Defines a new pool strategy that determines how types are being described.
      Parameters:
      poolStrategy - The pool strategy to use.
      Returns:
      A new plugin engine that is equal to this engine but uses the supplied pool strategy.
    • with

      public Plugin.Engine with(ClassFileLocator classFileLocator)
      Appends the supplied class file locator to be queried for class files additionally to any previously registered class file locators.
      Parameters:
      classFileLocator - The class file locator to append.
      Returns:
      A new plugin engine that is equal to this engine but with the supplied class file locator being appended.
    • with

      public Plugin.Engine with(Plugin.Engine.Listener listener)
      Appends the supplied listener to this engine.
      Parameters:
      listener - The listener to append.
      Returns:
      A new plugin engine that is equal to this engine but with the supplied listener being appended.
    • withoutErrorHandlers

      public Plugin.Engine withoutErrorHandlers()
      Replaces the error handlers of this plugin engine without applying any error handlers.
      Returns:
      A new plugin engine that is equal to this engine but without any error handlers being registered.
    • withErrorHandlers

      public Plugin.Engine withErrorHandlers(List<? extends Plugin.Engine.ErrorHandler> errorHandlers)
      Replaces the error handlers of this plugin engine with the supplied error handlers.
      Parameters:
      errorHandlers - The error handlers to apply.
      Returns:
      A new plugin engine that is equal to this engine but with only the supplied error handlers being applied.
    • with

      public Plugin.Engine with(Plugin.Engine.Dispatcher.Factory dispatcherFactory)
      Replaces the dispatcher factory of this plugin engine with the supplied dispatcher factory.
      Parameters:
      dispatcherFactory - The dispatcher factory to use.
      Returns:
      A new plugin engine that is equal to this engine but with the supplied dispatcher factory being used.
    • ignore

      public Plugin.Engine ignore(ElementMatcher<? super TypeDescription> matcher)
      Ignores all types that are matched by this matcher or any previously registered ignore matcher.
      Parameters:
      matcher - The ignore matcher to append.
      Returns:
      A new plugin engine that is equal to this engine but which ignores any type that is matched by the supplied matcher.
    • apply

      public Plugin.Engine.Summary apply(Plugin.Engine.Source source, Plugin.Engine.Target target, List<? extends Plugin.Factory> factories) throws IOException
      Applies this plugin engine onto a given source and target.
      Parameters:
      source - The source to use.
      target - The target to use.
      factories - A list of plugin factories to a apply.
      Returns:
      A summary of the applied transformation.
      Throws:
      IOException - If an I/O error occurs.