FileDocCategorySizeDatePackage
BytecodeProvider.javaAPI DocHibernate 3.2.51869Thu Aug 03 15:35:26 BST 2006org.hibernate.bytecode

BytecodeProvider

public interface BytecodeProvider
Contract for providers of bytecode services to Hibernate.

Bytecode requirements break down into basically 3 areas

  1. proxy generation (both for runtime-lazy-loading and basic proxy generation) {@link #getProxyFactoryFactory()}
  2. bean relection optimization {@link #getReflectionOptimizer}
  3. field-access instumentation {@link #getTransformer}
author
Steve Ebersole

Fields Summary
Constructors Summary
Methods Summary
public ProxyFactoryFactorygetProxyFactoryFactory()
Retrieve the specific factory for this provider capable of generating run-time proxies for lazy-loading purposes.

return
The provider specifc factory.

public ReflectionOptimizergetReflectionOptimizer(java.lang.Class clazz, java.lang.String[] getterNames, java.lang.String[] setterNames, java.lang.Class[] types)
Retrieve the ReflectionOptimizer delegate for this provider capable of generating reflection optimization components.

param
clazz The class to be reflected upon.
param
getterNames Names of all property getters to be accessed via reflection.
param
setterNames Names of all property setters to be accessed via reflection.
param
types The types of all properties to be accessed.
return
The reflection optimization delegate.

public ClassTransformergetTransformer(org.hibernate.bytecode.util.ClassFilter classFilter, org.hibernate.bytecode.util.FieldFilter fieldFilter)
Generate a ClassTransformer capable of performing bytecode manipulation.

param
classFilter filter used to limit which classes are to be instrumented via this ClassTransformer.
param
fieldFilter filter used to limit which fields are to be instrumented via this ClassTransformer.
return
The appropriate ClassTransformer.