Top Description Methods
jakarta.persistence.spi

public Interface ClassTransformer

Imports
java.security.ProtectionDomain

A persistence provider supplies 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 or redefined. The transformation occurs before the class is defined by the JVM.
Since
1.0

Method Summary

Modifier and TypeMethod and Description
public byte[]

Returns:

a well-formed class file buffer (the result of the transform), or null if no transform is performed
transform
(ClassLoader
the defining loader of the class to be transformed, may be null if the bootstrap loader
loader
,
String
the name of the class in the internal form of fully qualified class and interface names
className
,
Class<?>
if this is a redefine, the class being redefined, otherwise null
classBeingRedefined
,
ProtectionDomain
the protection domain of the class being defined or redefined
protectionDomain
,
byte[]
the input byte buffer in class file format - must not be modified
classfileBuffer
)

Invoked when a class is being loaded or redefined.

Method Detail

transformback to summary
public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws TransformerException

Invoked when a class is being loaded or redefined. The implementation of this method may transform the supplied class file and return a new replacement class file.

Parameters
loader:ClassLoader

the defining loader of the class to be transformed, may be null if the bootstrap loader

className:String

the name of the class in the internal form of fully qualified class and interface names

classBeingRedefined:Class<?>

if this is a redefine, the class being redefined, otherwise null

protectionDomain:ProtectionDomain

the protection domain of the class being defined or redefined

classfileBuffer:byte[]

the input byte buffer in class file format - must not be modified

Returns:byte[]

a well-formed class file buffer (the result of the transform), or null if no transform is performed

Exceptions
TransformerException:
if the input does not represent a well-formed class file