public class ACTask
extends org.apache.tools.ant.Task
This task reads annotation classes and generate strongly-typed writers.
Modifier and Type | Class and Description |
---|---|
static class |
ACTask.Classes
Nested <classes> elements.
|
static class |
ACTask.Endorse
Nested <endorse> elements.
|
Modifier and Type | Field and Description |
---|---|
private org.apache.tools.ant.types.Path |
classpath
Used to load additional user-specified classes.
|
private JCodeModel |
codeModel
Generated interfaces go into this codeModel.
|
private java.util.List<java.net.URL> |
endorsedJars |
private java.io.File |
output
Output directory
|
private java.util.List<ACTask.Classes> |
patterns |
private JPackage |
pkg
The writers will be generated into this package.
|
private java.util.Map<java.lang.Class,JDefinedClass> |
queue
Map from annotation classes to their writers.
|
private java.lang.ClassLoader |
userLoader
Used during the build to load annotation classes.
|
Constructor and Description |
---|
ACTask() |
Modifier and Type | Method and Description |
---|---|
void |
addConfiguredClasses(ACTask.Classes c)
List of classes to be handled
|
void |
addConfiguredEndorse(ACTask.Endorse e)
List of endorsed jars
|
org.apache.tools.ant.types.Path |
createClasspath()
Nested <classpath> element.
|
void |
execute() |
private static java.lang.String |
getShortName(java.lang.String className)
Gets the short name from a fully-qualified name.
|
private void |
process(java.lang.String name,
long timestamp)
Process a file.
|
private void |
processDir(java.io.File dir,
java.lang.String prefix)
Visits a directory and looks for classes that match the specified pattern.
|
private void |
processJar(java.io.File jarfile)
Visits a jar fil and looks for classes that match the specified pattern.
|
private void |
queue(java.lang.String className,
long timestamp)
Queues a file for generation.
|
void |
setClasspath(org.apache.tools.ant.types.Path cp)
Nested <classpath> element.
|
void |
setClasspathRef(org.apache.tools.ant.types.Reference r) |
void |
setDestdir(java.io.File output) |
void |
setPackage(java.lang.String pkgName) |
void |
setProject(org.apache.tools.ant.Project project) |
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
private final org.apache.tools.ant.types.Path classpath
private final java.util.List<java.net.URL> endorsedJars
private final java.util.List<ACTask.Classes> patterns
private java.lang.ClassLoader userLoader
private JCodeModel codeModel
private JPackage pkg
private java.io.File output
private final java.util.Map<java.lang.Class,JDefinedClass> queue
public void setProject(org.apache.tools.ant.Project project)
setProject
in class org.apache.tools.ant.ProjectComponent
public void setPackage(java.lang.String pkgName)
public void setClasspath(org.apache.tools.ant.types.Path cp)
public org.apache.tools.ant.types.Path createClasspath()
public void setClasspathRef(org.apache.tools.ant.types.Reference r)
public void setDestdir(java.io.File output)
public void addConfiguredClasses(ACTask.Classes c)
public void addConfiguredEndorse(ACTask.Endorse e)
public void execute() throws org.apache.tools.ant.BuildException
execute
in class org.apache.tools.ant.Task
org.apache.tools.ant.BuildException
private void processJar(java.io.File jarfile)
private void processDir(java.io.File dir, java.lang.String prefix)
prefix
- the package name prefix like "" or "foo/bar/"private void process(java.lang.String name, long timestamp)
name
- such as "javax/xml/bind/Abc.class"private void queue(java.lang.String className, long timestamp)
private static java.lang.String getShortName(java.lang.String className)