Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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.

Method Detail

### 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 loader
    `className` - the name of the class in the internal form of fully qualified class and interface names
    `classBeingRedefined` - if this is a redefine, the class being redefined, otherwise null
    `protectionDomain` - the protection domain of the class being defined or redefined
    `classfileBuffer` - 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD