Package org.hibernate.bytecode
Interface BytecodeProvider
- All Known Implementing Classes:
BytecodeProviderImpl,BytecodeProviderImpl
public interface BytecodeProvider
Contract for providers of bytecode services to Hibernate.
Bytecode requirements break down into basically 3 areas
- proxy generation (both for runtime-lazy-loading and basic proxy generation)
getProxyFactoryFactory() - bean reflection optimization
getReflectionOptimizer(java.lang.Class, java.lang.String[], java.lang.String[], java.lang.Class[]) - field-access instrumentation
getTransformer(org.hibernate.bytecode.util.ClassFilter, org.hibernate.bytecode.util.FieldFilter)
-
Method Summary
Modifier and TypeMethodDescriptionRetrieve the specific factory for this provider capable of generating run-time proxies for lazy-loading purposes.getReflectionOptimizer(Class clazz, String[] getterNames, String[] setterNames, Class[] types) Retrieve the ReflectionOptimizer delegate for this provider capable of generating reflection optimization components.getTransformer(ClassFilter classFilter, FieldFilter fieldFilter) Generate a ClassTransformer capable of performing bytecode manipulation.
-
Method Details
-
getProxyFactoryFactory
ProxyFactoryFactory getProxyFactoryFactory()Retrieve the specific factory for this provider capable of generating run-time proxies for lazy-loading purposes.- Returns:
- The provider specific factory.
-
getReflectionOptimizer
ReflectionOptimizer getReflectionOptimizer(Class clazz, String[] getterNames, String[] setterNames, Class[] types) Retrieve the ReflectionOptimizer delegate for this provider capable of generating reflection optimization components.- 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.
-
getTransformer
Generate a ClassTransformer capable of performing bytecode manipulation.- Parameters:
classFilter- filter used to limit which classes are to be instrumented via this ClassTransformer.fieldFilter- filter used to limit which fields are to be instrumented via this ClassTransformer.- Returns:
- The appropriate ClassTransformer.
-