Interface Plugin.Engine

    • Field Detail

      • MODULE_INFO

        static final java.lang.String MODULE_INFO
        The module info class file.
        See Also:
        Constant Field Values
      • PACKAGE_INFO

        static final java.lang.String PACKAGE_INFO
        The package info class file.
        See Also:
        Constant Field Values
      • PLUGIN_FILE

        static final java.lang.String PLUGIN_FILE
        The name of the file that contains declares Byte Buddy plugins for discovery.
        See Also:
        Constant Field Values
    • Method Detail

      • with

        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

        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

        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

        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

        Plugin.Engine with​(@MaybeNull
                           ClassFileVersion classFileVersion)
        Uses the supplied ClassFileVersion as a base for resolving multi-release jars, or null if multi-release jars should not be resolved but be treated as regular jar files. This property might not be applied if the underlying location mechanism does not supply manual resource resolution. Note that classes that are of newer class file versions than the specified version are not resolved and simply copied.
        Parameters:
        classFileVersion - The class file version to use or null if multi-release jars should be ignored.
        Returns:
        A new plugin engine that is equal to this engine but with the supplied class file version being used.
      • with

        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

        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

        Plugin.Engine withErrorHandlers​(Plugin.Engine.ErrorHandler... errorHandler)
        Replaces the error handlers of this plugin engine with the supplied error handlers.
        Parameters:
        errorHandler - 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.
      • withErrorHandlers

        Plugin.Engine withErrorHandlers​(java.util.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.
      • withParallelTransformation

        Plugin.Engine withParallelTransformation​(int threads)
        Replaces the dispatcher factory of this plugin engine with a parallel dispatcher factory that uses the given amount of threads.
        Parameters:
        threads - The amount of threads to use.
        Returns:
        A new plugin engine that is equal to this engine but with a parallel dispatcher factory using the specified amount of threads.
      • with

        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

        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

        Plugin.Engine.Summary apply​(java.io.File source,
                                    java.io.File target,
                                    Plugin.Factory... factory)
                             throws java.io.IOException
        Applies this plugin engine onto a given source and target.
        Parameters:
        source - The source which is treated as a folder or a jar file, if a folder does not exist.
        target - The target which is treated as a folder or a jar file, if a folder does not exist.
        factory - A list of plugin factories to a apply.
        Returns:
        A summary of the applied transformation.
        Throws:
        java.io.IOException - If an I/O error occurs.
      • apply

        Plugin.Engine.Summary apply​(java.io.File source,
                                    java.io.File target,
                                    java.util.List<? extends Plugin.Factory> factories)
                             throws java.io.IOException
        Applies this plugin engine onto a given source and target.
        Parameters:
        source - The source which is treated as a folder or a jar file, if a folder does not exist.
        target - The target which is treated as a folder or a jar file, if a folder does not exist.
        factories - A list of plugin factories to a apply.
        Returns:
        A summary of the applied transformation.
        Throws:
        java.io.IOException - If an I/O error occurs.
      • apply

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

        Plugin.Engine.Summary apply​(Plugin.Engine.Source source,
                                    Plugin.Engine.Target target,
                                    java.util.List<? extends Plugin.Factory> factories)
                             throws java.io.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:
        java.io.IOException - If an I/O error occurs.