org.hibernate.bytecode.cglib
Class BytecodeProviderImpl

java.lang.Object
  extended by org.hibernate.bytecode.cglib.BytecodeProviderImpl
All Implemented Interfaces:
BytecodeProvider

public class BytecodeProviderImpl
extends Object
implements BytecodeProvider

Bytecode provider implementation for CGLIB.

Author:
Steve Ebersole

Constructor Summary
BytecodeProviderImpl()
           
 
Method Summary
 ProxyFactoryFactory getProxyFactoryFactory()
          Retrieve the specific factory for this provider capable of generating run-time proxies for lazy-loading purposes.
 ReflectionOptimizer getReflectionOptimizer(Class clazz, String[] getterNames, String[] setterNames, Class[] types)
          Retrieve the ReflectionOptimizer delegate for this provider capable of generating reflection optimization components.
 ClassTransformer getTransformer(ClassFilter classFilter, FieldFilter fieldFilter)
          Generate a ClassTransformer capable of performing bytecode manipulation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BytecodeProviderImpl

public BytecodeProviderImpl()
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 interface BytecodeProvider
Returns:
The provider specifc 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 interface BytecodeProvider
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

public ClassTransformer getTransformer(ClassFilter classFilter,
                                       FieldFilter fieldFilter)
Description copied from interface: BytecodeProvider
Generate a ClassTransformer capable of performing bytecode manipulation.

Specified by:
getTransformer in interface BytecodeProvider
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.