Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.hibernate.bytecode.javassist
Class BytecodeProviderImpl  view BytecodeProviderImpl download BytecodeProviderImpl.java

java.lang.Object
  extended byorg.hibernate.bytecode.javassist.BytecodeProviderImpl
All Implemented Interfaces:
org.hibernate.bytecode.BytecodeProvider

public class BytecodeProviderImpl
extends java.lang.Object
implements org.hibernate.bytecode.BytecodeProvider

Bytecode provider implementation for Javassist.


Field Summary
private static org.apache.commons.logging.Log log
           
 
Constructor Summary
BytecodeProviderImpl()
           
 
Method Summary
 java.lang.ClassLoader generateDynamicFieldInterceptionClassLoader(java.lang.ClassLoader parent, java.lang.String[] classpath, java.lang.String[] packages)
          Generate a ClassLoader capable of performing dynamic bytecode manipulation on classes as they are loaded for the purpose of field-level interception.
 org.hibernate.bytecode.ClassTransformer getEntityClassTransformer(java.lang.String[] packages, java.lang.String[] classes)
          Generate a ClassTransformer capable of performing dynamic bytecode manipulation on classes as they are loaded for the purpose of field-level interception.
 org.hibernate.bytecode.ProxyFactoryFactory getProxyFactoryFactory()
          Retrieve the specific factory for this provider capable of generating run-time proxies for lazy-loading purposes.
 org.hibernate.bytecode.ReflectionOptimizer getReflectionOptimizer(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.
 void releaseDynamicFieldInterceptionClassLoader(java.lang.ClassLoader classLoader)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final org.apache.commons.logging.Log log
Constructor Detail

BytecodeProviderImpl

public BytecodeProviderImpl()
Method Detail

getProxyFactoryFactory

public org.hibernate.bytecode.ProxyFactoryFactory getProxyFactoryFactory()
Description copied from interface: org.hibernate.bytecode.BytecodeProvider
Retrieve the specific factory for this provider capable of generating run-time proxies for lazy-loading purposes.

Specified by:
getProxyFactoryFactory in interface org.hibernate.bytecode.BytecodeProvider

getReflectionOptimizer

public org.hibernate.bytecode.ReflectionOptimizer getReflectionOptimizer(java.lang.Class clazz,
                                                                         java.lang.String[] getterNames,
                                                                         java.lang.String[] setterNames,
                                                                         java.lang.Class[] types)
Description copied from interface: org.hibernate.bytecode.BytecodeProvider
Retrieve the ReflectionOptimizer delegate for this provider capable of generating reflection optimization components.

Specified by:
getReflectionOptimizer in interface org.hibernate.bytecode.BytecodeProvider

generateDynamicFieldInterceptionClassLoader

public java.lang.ClassLoader generateDynamicFieldInterceptionClassLoader(java.lang.ClassLoader parent,
                                                                         java.lang.String[] classpath,
                                                                         java.lang.String[] packages)
Description copied from interface: org.hibernate.bytecode.BytecodeProvider
Generate a ClassLoader capable of performing dynamic bytecode manipulation on classes as they are loaded for the purpose of field-level interception. The returned ClassLoader is used for run-time bytecode manipulation as opposed to the more common build-time manipulation, since here we get into SecurityManager issues and such.

Currently used only from the Hibernate test suite, although conceivably (SecurityManager concerns aside) could be used somehow in running systems.

Specified by:
generateDynamicFieldInterceptionClassLoader in interface org.hibernate.bytecode.BytecodeProvider

getEntityClassTransformer

public org.hibernate.bytecode.ClassTransformer getEntityClassTransformer(java.lang.String[] packages,
                                                                         java.lang.String[] classes)
Description copied from interface: org.hibernate.bytecode.BytecodeProvider
Generate a ClassTransformer capable of performing dynamic bytecode manipulation on classes as they are loaded for the purpose of field-level interception. The returned ClassTransformer can be combined to an appropriate ClassLoader is used for run-time bytecode manipulation as opposed to the more common build-time manipulation, since here we get into SecurityManager issues and such.

Specified by:
getEntityClassTransformer in interface org.hibernate.bytecode.BytecodeProvider

releaseDynamicFieldInterceptionClassLoader

public void releaseDynamicFieldInterceptionClassLoader(java.lang.ClassLoader classLoader)
Specified by:
releaseDynamicFieldInterceptionClassLoader in interface org.hibernate.bytecode.BytecodeProvider