Top Description Methods
org.hibernate.bytecode

public Interface ClassTransformer

Known Direct Implementers
org.hibernate.bytecode.AbstractClassTransformerImpl
Imports
java.security.ProtectionDomain

A persistence provider provides an instance of this interface to the PersistenceUnitInfo.addTransformer method. The supplied transformer instance will get called to transform entity class files when they are loaded and redefined. The transformation occurs before the class is defined by the JVM
Authors
Bill Burke, Emmanuel Bernard

Method Summary

Modifier and TypeMethod and Description
public byte[]

Returns:

A well-formed class file that can be loaded
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
)

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

Method Detail

transformback to summary
public byte[] transform(ClassLoader loader, String classname, Class<T> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)

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