public interface ClassTransformer
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.Modifier and Type | Method and Description |
---|---|
byte[] |
transform(java.lang.ClassLoader loader,
java.lang.String className,
java.lang.Class<?> classBeingRedefined,
java.security.ProtectionDomain protectionDomain,
byte[] classfileBuffer)
Invoked when a class is being loaded or redefined.
|
byte[] transform(java.lang.ClassLoader loader, java.lang.String className, java.lang.Class<?> classBeingRedefined, java.security.ProtectionDomain protectionDomain, byte[] classfileBuffer) throws TransformerException
loader
- the defining loader of the class to be
transformed, may be null if the bootstrap loaderclassName
- the name of the class in the internal form
of fully qualified class and interface namesclassBeingRedefined
- if this is a redefine, the
class being redefined, otherwise nullprotectionDomain
- the protection domain of the
class being defined or redefinedclassfileBuffer
- the input byte buffer in class
file format - must not be modifiedTransformerException
- if the input does
not represent a well-formed class file