Top Description Fields Constructors Methods
org.hibernate.tool.enhance

public Class EnhancementTask

extends Task
Class Inheritance
Imports
org.apache.tools.ant.BuildException, .Project, .Task, org.hibernate.bytecode.enhance.spi.DefaultEnhancementContext, .EnhancementContext, .Enhancer, .UnloadedClass, .UnloadedField, org.hibernate.cfg.Environment, java.io.ByteArrayOutputStream, .File, .FileFilter, .FileInputStream, .FileOutputStream, .IOException, .OutputStream, java.net.MalformedURLException, .URL, .URLClassLoader, java.util.ArrayList, .Collections, .List

Ant task for performing build-time enhancement of entity objects. Code based on from: https://github.com/hibernate/hibernate-orm/blob/159bc99a36d86988b61b88ba91eec82cac044e1c/hibernate-core/src/main/java/org/hibernate/tool/enhance/EnhancementTask.java https://github.com/hibernate/hibernate-orm/blob/159bc99a36d86988b61b88ba91eec82cac044e1c/tooling/hibernate-enhance-maven-plugin/src/main/java/org/hibernate/orm/tooling/maven/MavenEnhancePlugin.java
<target name="enhance" depends="compile">
    <taskdef name="enhance" classname="org.hibernate.tool.enhance.EnhancementTask">
        <classpath refid="<some-ant-path-including-hibernate-core-jar>"/>
        <classpath path="<your-classes-path>"/>
    </taskdef>
    <enhance base="${base}" dir="${base}" failOnError="true" enableLazyInitialization="true" enableDirtyTracking="false" enableAssociationManagement="false" enableExtendedEnhancement="false" />
</target>
Authors
Luis Barreiro, Taro App
See Also
org.hibernate.engine.spi.Managed

Field Summary

Modifier and TypeField and Description
private String
private String
private boolean
private boolean
private boolean
private boolean
private boolean
private List<File>
Inherited from org.apache.tools.ant.Task:
targettaskNametaskTypewrapper

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private byte[]
doEnhancement(File javaClassFile, Enhancer enhancer)

public void
execute()

Overrides org.apache.tools.ant.Task.execute.

Called by the project to let the task do its work.
public void
public void
public void
setEnableAssociationManagement(boolean enableAssociationManagement)

public void
setEnableDirtyTracking(boolean enableDirtyTracking)

public void
setEnableExtendedEnhancement(boolean enableExtendedEnhancement)

public void
setEnableLazyInitialization(boolean enableLazyInitialization)

public void
setFailOnError(boolean failOnError)

private boolean
private ClassLoader
toClassLoader(List<File> runtimeClasspath)

private void
walkDir(File dir)

Expects a directory.

private void
walkDir(File dir, FileFilter classesFilter, FileFilter dirFilter)

private void
writeOutEnhancedClass(byte[] enhancedBytecode, File file)

Inherited from org.apache.tools.ant.Task:
bindToOwnergetOwningTargetgetRuntimeConfigurableWrappergetTaskNamegetTaskTypegetWrapperhandleErrorFlushhandleErrorOutputhandleFlushhandleInputhandleOutputinitisInvalidloglogloglogmaybeConfigureperformreconfiguresetOwningTargetsetRuntimeConfigurableWrappersetTaskNamesetTaskType

Field Detail

baseback to summary
private String base
dirback to summary
private String dir
enableAssociationManagementback to summary
private boolean enableAssociationManagement
enableDirtyTrackingback to summary
private boolean enableDirtyTracking
enableExtendedEnhancementback to summary
private boolean enableExtendedEnhancement
enableLazyInitializationback to summary
private boolean enableLazyInitialization
failOnErrorback to summary
private boolean failOnError
sourceSetback to summary
private List<File> sourceSet

Constructor Detail

EnhancementTaskback to summary
public EnhancementTask()

Method Detail

doEnhancementback to summary
private byte[] doEnhancement(File javaClassFile, Enhancer enhancer) throws BuildException
executeback to summary
public void execute() throws BuildException

Overrides org.apache.tools.ant.Task.execute.

Doc from org.apache.tools.ant.Task.execute.

Called by the project to let the task do its work. This method may be called more than once, if the task is invoked more than once. For example, if target1 and target2 both depend on target3, then running "ant target1 target2" will run all tasks in target3 twice.

Annotations
@Override
Exceptions
BuildException:
if something goes wrong with the build.
setBaseback to summary
public void setBase(String base)
setDirback to summary
public void setDir(String dir)
setEnableAssociationManagementback to summary
public void setEnableAssociationManagement(boolean enableAssociationManagement)
setEnableDirtyTrackingback to summary
public void setEnableDirtyTracking(boolean enableDirtyTracking)
setEnableExtendedEnhancementback to summary
public void setEnableExtendedEnhancement(boolean enableExtendedEnhancement)
setEnableLazyInitializationback to summary
public void setEnableLazyInitialization(boolean enableLazyInitialization)
setFailOnErrorback to summary
public void setFailOnError(boolean failOnError)
shouldApplyback to summary
private boolean shouldApply()
toClassLoaderback to summary
private ClassLoader toClassLoader(List<File> runtimeClasspath) throws BuildException
walkDirback to summary
private void walkDir(File dir)

Expects a directory.

walkDirback to summary
private void walkDir(File dir, FileFilter classesFilter, FileFilter dirFilter)
writeOutEnhancedClassback to summary
private void writeOutEnhancedClass(byte[] enhancedBytecode, File file) throws BuildException