public interface

BytecodeProvider

org.hibernate.bytecode.BytecodeProvider
Known Indirect Subclasses

Class Overview

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) getProxyFactoryFactory()
  2. bean reflection optimization getReflectionOptimizer(Class, String[], String[], Class[])
  3. field-access instrumentation getTransformer(ClassFilter, FieldFilter)

Summary

Public Methods
abstract ProxyFactoryFactory getProxyFactoryFactory()
Retrieve the specific factory for this provider capable of generating run-time proxies for lazy-loading purposes.
abstract ReflectionOptimizer getReflectionOptimizer(Class clazz, String[] getterNames, String[] setterNames, Class[] types)
Retrieve the ReflectionOptimizer delegate for this provider capable of generating reflection optimization components.
abstract ClassTransformer getTransformer(ClassFilter classFilter, FieldFilter fieldFilter)
Generate a ClassTransformer capable of performing bytecode manipulation.

Public Methods

public abstract ProxyFactoryFactory getProxyFactoryFactory ()

Retrieve the specific factory for this provider capable of generating run-time proxies for lazy-loading purposes.

Returns
  • The provider specific factory.

public abstract 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.

public abstract ClassTransformer getTransformer (ClassFilter classFilter, FieldFilter fieldFilter)

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.