public class

JavassistInstrumenter

extends AbstractInstrumenter
java.lang.Object
   ↳ org.hibernate.bytecode.buildtime.AbstractInstrumenter
     ↳ org.hibernate.bytecode.buildtime.JavassistInstrumenter

Class Overview

Strategy for performing build-time instrumentation of persistent classes in order to enable field-level interception using Javassist.

Summary

[Expand]
Inherited Fields
From class org.hibernate.bytecode.buildtime.AbstractInstrumenter
Public Constructors
JavassistInstrumenter(Logger logger, Instrumenter.Options options)
Protected Methods
ClassDescriptor getClassDescriptor(byte[] bytecode)
Given the bytecode of a java class, retrieve the descriptor for that class.
ClassTransformer getClassTransformer(ClassDescriptor descriptor, Set classNames)
Create class transformer for the class.
[Expand]
Inherited Methods
From class org.hibernate.bytecode.buildtime.AbstractInstrumenter
From class java.lang.Object
From interface org.hibernate.bytecode.buildtime.Instrumenter

Public Constructors

public JavassistInstrumenter (Logger logger, Instrumenter.Options options)

Protected Methods

protected ClassDescriptor getClassDescriptor (byte[] bytecode)

Given the bytecode of a java class, retrieve the descriptor for that class.

Parameters
bytecode The class bytecode.
Returns
  • The class's descriptor
Throws
IOException

protected ClassTransformer getClassTransformer (ClassDescriptor descriptor, Set classNames)

Create class transformer for the class.

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