Class CGLIBInstrumenter

java.lang.Object
org.hibernate.bytecode.buildtime.AbstractInstrumenter
org.hibernate.bytecode.buildtime.CGLIBInstrumenter
All Implemented Interfaces:
Instrumenter

public class CGLIBInstrumenter extends AbstractInstrumenter
Strategy for performing build-time instrumentation of persistent classes in order to enable field-level interception using CGLIB.
  • Constructor Details

  • Method Details

    • getClassDescriptor

      protected ClassDescriptor getClassDescriptor(byte[] byecode) throws Exception
      Description copied from class: AbstractInstrumenter
      Given the bytecode of a java class, retrieve the descriptor for that class.
      Specified by:
      getClassDescriptor in class AbstractInstrumenter
      Parameters:
      byecode - The class bytecode.
      Returns:
      The class's descriptor
      Throws:
      Exception - Indicates problems access the bytecode.
    • getClassTransformer

      protected ClassTransformer getClassTransformer(ClassDescriptor descriptor, Set classNames)
      Description copied from class: AbstractInstrumenter
      Create class transformer for the class.
      Specified by:
      getClassTransformer in class AbstractInstrumenter
      Parameters:
      descriptor - The descriptor of the class to be instrumented.
      classNames - The names of all classes to be instrumented; the "pipeline" if you will.
      Returns:
      The transformer for the given class; may return null to indicate that transformation should be skipped (ala already instrumented).