Class AbstractClassTransformerImpl

java.lang.Object
org.hibernate.bytecode.AbstractClassTransformerImpl
All Implemented Interfaces:
ClassTransformer
Direct Known Subclasses:
CglibClassTransformer, JavassistClassTransformer

public abstract class AbstractClassTransformerImpl extends Object implements ClassTransformer
Basic implementation of the ClassTransformer contract.
  • Field Details

  • Constructor Details

    • AbstractClassTransformerImpl

      protected AbstractClassTransformerImpl(ClassFilter classFilter, FieldFilter fieldFilter)
  • Method Details

    • transform

      public byte[] transform(ClassLoader loader, String className, Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)
      Description copied from interface: ClassTransformer
      Invoked when a class is being loaded or redefined to add hooks for persistence bytecode manipulation
      Specified by:
      transform in interface ClassTransformer
      Parameters:
      loader - the defining class loaderof the class being transformed. It may be null if using bootstrap loader
      className - The name of the class being transformed
      classBeingRedefined - If an already loaded class is being redefined, then pass this as a parameter
      protectionDomain - ProtectionDomain of the class being (re)-defined
      classfileBuffer - The input byte buffer in class file format
      Returns:
      A well-formed class file that can be loaded
    • doTransform

      protected abstract byte[] doTransform(ClassLoader loader, String className, Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)