org.hibernate.tool.instrument
Class BasicInstrumentationTask

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.hibernate.tool.instrument.BasicInstrumentationTask
Direct Known Subclasses:
InstrumentTask, InstrumentTask

public abstract class BasicInstrumentationTask
extends org.apache.tools.ant.Task

Super class for all Hibernate instrumentation tasks. Provides the basic templating of how instrumentation should occur.

Author:
Steve Ebersole

Nested Class Summary
protected  class BasicInstrumentationTask.CustomFieldFilter
           
protected  class BasicInstrumentationTask.Logger
           
 
Field Summary
protected  BasicInstrumentationTask.Logger logger
           
 
Fields inherited from class org.apache.tools.ant.Task
description, location, target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
BasicInstrumentationTask()
           
 
Method Summary
 void addFileset(org.apache.tools.ant.types.FileSet set)
           
protected  boolean checkMagic(File file, long magic)
           
 void execute()
           
protected  Iterator filesets()
           
protected abstract  ClassDescriptor getClassDescriptor(byte[] byecode)
           
protected abstract  ClassTransformer getClassTransformer(ClassDescriptor descriptor)
           
protected  boolean isBeingIntrumented(String className)
           
protected  boolean isClassFile(File file)
           
 boolean isExtended()
           
protected  boolean isJarFile(File file)
           
 boolean isVerbose()
           
protected  void processClassFile(File file)
           
protected  void processFile(File file)
           
protected  void processJarFile(File file)
           
 void setExtended(boolean extended)
           
 void setVerbose(boolean verbose)
           
 
Methods inherited from class org.apache.tools.ant.Task
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject, setProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final BasicInstrumentationTask.Logger logger
Constructor Detail

BasicInstrumentationTask

public BasicInstrumentationTask()
Method Detail

addFileset

public void addFileset(org.apache.tools.ant.types.FileSet set)

filesets

protected final Iterator filesets()

isExtended

public boolean isExtended()

setExtended

public void setExtended(boolean extended)

isVerbose

public boolean isVerbose()

setVerbose

public void setVerbose(boolean verbose)

execute

public void execute()
             throws org.apache.tools.ant.BuildException
Overrides:
execute in class org.apache.tools.ant.Task
Throws:
org.apache.tools.ant.BuildException

processFile

protected void processFile(File file)
                    throws Exception
Throws:
Exception

isClassFile

protected final boolean isClassFile(File file)
                             throws IOException
Throws:
IOException

isJarFile

protected final boolean isJarFile(File file)
                           throws IOException
Throws:
IOException

checkMagic

protected final boolean checkMagic(File file,
                                   long magic)
                            throws IOException
Throws:
IOException

processClassFile

protected void processClassFile(File file)
                         throws Exception
Throws:
Exception

processJarFile

protected void processJarFile(File file)
                       throws Exception
Throws:
Exception

isBeingIntrumented

protected boolean isBeingIntrumented(String className)

getClassDescriptor

protected abstract ClassDescriptor getClassDescriptor(byte[] byecode)
                                               throws Exception
Throws:
Exception

getClassTransformer

protected abstract ClassTransformer getClassTransformer(ClassDescriptor descriptor)