javax.persistence.spi
Interface ClassTransformer
public interface ClassTransformer
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:
 
  - Java Persistence 1.0
 
| 
Method Summary | 
 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. | 
 
transform
byte[] transform(java.lang.ClassLoader loader,
                 java.lang.String className,
                 java.lang.Class<?> classBeingRedefined,
                 java.security.ProtectionDomain protectionDomain,
                 byte[] classfileBuffer)
                 throws java.lang.instrument.IllegalClassFormatException
- 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 - 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 modified
- Returns:
 - A well-formed class file buffer (the result of
 the transform), or null if no transform is performed
 - Throws:
 java.lang.instrument.IllegalClassFormatException - If the input does
 not represent a well-formed class file