Class BytecodeProviderImpl

  • All Implemented Interfaces:
    Serializable, BytecodeProvider, Service

    public final class BytecodeProviderImpl
    extends Object
    implements BytecodeProvider
    This BytecodeProvider represents the "no-op" enhancer; mostly useful as an optimisation when not needing any byte code optimisation applied, for example when the entities have been enhanced at compile time. Choosing this BytecodeProvider allows to exclude the bytecode enhancement libraries from the runtime classpath, but is not compatible with the option AvailableSettings#USE_REFLECTION_OPTIMIZER .
    See Also:
    Serialized Form
    • Constructor Detail

      • BytecodeProviderImpl

        public BytecodeProviderImpl()
    • Method Detail

      • getReflectionOptimizer

        public ReflectionOptimizer getReflectionOptimizer​(Class clazz,
                                                          String[] getterNames,
                                                          String[] setterNames,
                                                          Class[] types)
        Description copied from interface: BytecodeProvider
        Retrieve the ReflectionOptimizer delegate for this provider capable of generating reflection optimization components.
        Specified by:
        getReflectionOptimizer in interface BytecodeProvider
        clazz - The class to be reflected upon.
        getterNames - Names of all property getters to be accessed via reflection.
        setterNames - Names of all property setters to be accessed via reflection.
        types - The types of all properties to be accessed.
        The reflection optimization delegate.
      • getEnhancer

        public Enhancer getEnhancer​(EnhancementContext enhancementContext)
        Description copied from interface: BytecodeProvider
        Returns a byte code enhancer that implements the enhancements described in the supplied enhancement context.
        Specified by:
        getEnhancer in interface BytecodeProvider
        enhancementContext - The enhancement context that describes the enhancements to apply.
        An enhancer to perform byte code manipulations.