Class BytecodeProviderImpl
- java.lang.Object
-
- org.hibernate.bytecode.internal.none.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 .- Since:
- 5.4
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description BytecodeProviderImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @Nullable Enhancer
getEnhancer(EnhancementContext enhancementContext)
Returns a byte code enhancer that implements the enhancements described in the supplied enhancement context.ProxyFactoryFactory
getProxyFactoryFactory()
Retrieve the specific factory for this provider capable of generating run-time proxies for lazy-loading purposes.@Nullable ReflectionOptimizer
getReflectionOptimizer(Class<?> clazz, Map<String,PropertyAccess> propertyAccessMap)
Retrieve the ReflectionOptimizer delegate for this provider capable of generating reflection optimization components.ReflectionOptimizer
getReflectionOptimizer(Class clazz, String[] getterNames, String[] setterNames, Class[] types)
Retrieve the ReflectionOptimizer delegate for this provider capable of generating reflection optimization components.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.bytecode.spi.BytecodeProvider
resetCaches
-
-
-
-
Method Detail
-
getProxyFactoryFactory
public ProxyFactoryFactory getProxyFactoryFactory()
Description copied from interface:BytecodeProvider
Retrieve the specific factory for this provider capable of generating run-time proxies for lazy-loading purposes.- Specified by:
getProxyFactoryFactory
in interfaceBytecodeProvider
- Returns:
- The provider specific factory.
-
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 interfaceBytecodeProvider
- Parameters:
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.- Returns:
- The reflection optimization delegate.
-
getReflectionOptimizer
public @Nullable ReflectionOptimizer getReflectionOptimizer(Class<?> clazz, Map<String,PropertyAccess> propertyAccessMap)
Description copied from interface:BytecodeProvider
Retrieve the ReflectionOptimizer delegate for this provider capable of generating reflection optimization components.- Specified by:
getReflectionOptimizer
in interfaceBytecodeProvider
- Parameters:
clazz
- The class to be reflected upon.propertyAccessMap
- The ordered property access map- Returns:
- The reflection optimization delegate.
-
getEnhancer
public @Nullable 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 interfaceBytecodeProvider
- Parameters:
enhancementContext
- The enhancement context that describes the enhancements to apply.- Returns:
- An enhancer to perform byte code manipulations.
-
-