org.hibernate.tool.instrument.cglib

Class InstrumentTask


public class InstrumentTask
extends BasicInstrumentationTask

An Ant task for instrumenting persistent classes in order to enable field-level interception using CGLIB.

In order to use this task, typically you would define a a taskdef similiar to:

 
     
 
 
where lib.class.path is an ANT path reference containing all the required Hibernate and CGLIB libraries.

And then use it like:

 
     
         
         ...
     
 
 
where the nested ANT fileset includes the class you would like to have instrumented.

Optionally you can chose to enable "Extended Instrumentation" if desired by specifying the extended attriubute on the task:

 
     ...
 
 
See the Hibernate manual regarding this option.
Authors:
Gavin King
Steve Ebersole

Nested Class Summary

Nested classes/interfaces inherited from class org.hibernate.tool.instrument.BasicInstrumentationTask

BasicInstrumentationTask.CustomFieldFilter, BasicInstrumentationTask.Logger

Field Summary

Fields inherited from class org.hibernate.tool.instrument.BasicInstrumentationTask

logger

Method Summary

protected ClassDescriptor
getClassDescriptor(byte[] byecode)
protected ClassTransformer
getClassTransformer(ClassDescriptor descriptor)

Methods inherited from class org.hibernate.tool.instrument.BasicInstrumentationTask

addFileset, checkMagic, execute, filesets, getClassDescriptor, getClassTransformer, isBeingIntrumented, isClassFile, isExtended, isJarFile, isVerbose, processClassFile, processFile, processJarFile, setExtended, setVerbose

Method Details

getClassDescriptor

protected ClassDescriptor getClassDescriptor(byte[] byecode)
            throws Exception
Overrides:
getClassDescriptor in interface BasicInstrumentationTask

getClassTransformer

protected ClassTransformer getClassTransformer(ClassDescriptor descriptor)
Overrides:
getClassTransformer in interface BasicInstrumentationTask