|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface BytecodeProvider
Contract for providers of bytecode services to Hibernate.
Bytecode requirements break down into basically 4 areasgetProxyFactoryFactory()
getReflectionOptimizer(java.lang.Class, java.lang.String[], java.lang.String[], java.lang.Class[])
generateDynamicFieldInterceptionClassLoader(java.lang.ClassLoader, java.lang.String[], java.lang.String[])
;
(currently only used in the test suite).
Method Summary | |
---|---|
ClassLoader |
generateDynamicFieldInterceptionClassLoader(ClassLoader parent,
String[] classpath,
String[] packages)
Generate a ClassLoader capable of performing dynamic bytecode manipulation on classes as they are loaded for the purpose of field-level interception. |
ClassTransformer |
getEntityClassTransformer(String[] packages,
String[] classes)
Generate a ClassTransformer capable of performing dynamic bytecode manipulation on classes as they are loaded for the purpose of field-level interception. |
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. |
void |
releaseDynamicFieldInterceptionClassLoader(ClassLoader classLoader)
|
Method Detail |
---|
ProxyFactoryFactory getProxyFactoryFactory()
ReflectionOptimizer getReflectionOptimizer(Class clazz, String[] getterNames, String[] setterNames, Class[] types)
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.
ClassLoader generateDynamicFieldInterceptionClassLoader(ClassLoader parent, String[] classpath, String[] packages)
parent
- The parent classloaderclasspath
- The classpath to be searchedpackages
- can be null; use to limit the packages to be loaded
via this classloader (and transformed).
ClassTransformer getEntityClassTransformer(String[] packages, String[] classes)
packages
- can be null; use to limit the packages to be transformed
via this classtransformer.classes
- can be null; use to limit the classes to be transformed
via this class transformer.
void releaseDynamicFieldInterceptionClassLoader(ClassLoader classLoader)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |