Top Description Fields Constructors Methods
org.hibernate.bytecode

public abstract Class AbstractClassTransformerImpl

extends Object
implements ClassTransformer
Class Inheritance
All Implemented Interfaces
org.hibernate.bytecode.ClassTransformer
Known Direct Subclasses
org.hibernate.bytecode.cglib.CglibClassTransformer, org.hibernate.bytecode.javassist.JavassistClassTransformer
Imports
org.hibernate.bytecode.util.ClassFilter, .FieldFilter, java.security.ProtectionDomain

Basic implementation of the ClassTransformer contract.
Authors
Emmanuel Bernard, Steve Ebersole

Field Summary

Modifier and TypeField and Description
protected final ClassFilter
protected final FieldFilter

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
protected abstract byte[]
doTransform(ClassLoader loader, String className, Class<T> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)

public byte[]
transform(ClassLoader
the defining class loaderof the class being transformed. It may be null if using bootstrap loader
loader
,
String
The name of the class being transformed
className
,
Class<T>
If an already loaded class is being redefined, then pass this as a parameter
classBeingRedefined
,
ProtectionDomain
ProtectionDomain of the class being (re)-defined
protectionDomain
,
byte[]
The input byte buffer in class file format
classfileBuffer
)

Implements org.hibernate.bytecode.ClassTransformer.transform.

Invoked when a class is being loaded or redefined to add hooks for persistence bytecode manipulation
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

classFilterback to summary
protected final ClassFilter classFilter
fieldFilterback to summary
protected final FieldFilter fieldFilter

Constructor Detail

AbstractClassTransformerImplback to summary
protected AbstractClassTransformerImpl(ClassFilter classFilter, FieldFilter fieldFilter)

Method Detail

doTransformback to summary
protected abstract byte[] doTransform(ClassLoader loader, String className, Class<T> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)
transformback to summary
public byte[] transform(ClassLoader loader, String className, Class<T> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)

Implements org.hibernate.bytecode.ClassTransformer.transform.

Doc from org.hibernate.bytecode.ClassTransformer.transform.

Invoked when a class is being loaded or redefined to add hooks for persistence bytecode manipulation

Parameters
loader:ClassLoader

the defining class loaderof the class being transformed. It may be null if using bootstrap loader

className:String

The name of the class being transformed

classBeingRedefined:Class<T>

If an already loaded class is being redefined, then pass this as a parameter

protectionDomain:ProtectionDomain

ProtectionDomain of the class being (re)-defined

classfileBuffer:byte[]

The input byte buffer in class file format

Returns:byte[]

A well-formed class file that can be loaded