Class JRAntApiWriteTask

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.MatchingTask
net.sf.jasperreports.ant.JRBaseAntTask
net.sf.jasperreports.ant.JRAntApiWriteTask
All Implemented Interfaces:
Cloneable, org.apache.tools.ant.types.selectors.SelectorContainer

public class JRAntApiWriteTask extends JRBaseAntTask
Ant task for batch-generating the Java source file that uses the JR API to create the report design, from compiled report template files or from source JRXML files. Works like the built-in javac Ant task.

This task can take the following arguments:

  • src
  • destdir
Of these arguments, the src and destdir are required. When this task executes, it will recursively scan the src and destdir looking for compiled report template files or for source JRXML report template files and it will recreate the Java source file for each of them. This task makes its file creation decision based on timestamp and only input files that have no corresponding file in the target directory or where the destination Java file is older than the input file will be processed.
Author:
Teodor Danciu (teodord@users.sourceforge.net)
  • Field Summary

    Fields inherited from class net.sf.jasperreports.ant.JRBaseAntTask

    jasperReportsContext

    Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask

    fileset

    Fields inherited from class org.apache.tools.ant.Task

    target, taskName, taskType, wrapper

    Fields inherited from class org.apache.tools.ant.ProjectComponent

    description, location, project
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Checks that all required attributes have been set and that the supplied values are valid.
    org.apache.tools.ant.types.Path
    Adds a path to the classpath.
    org.apache.tools.ant.types.Path
    Adds a path for source report templates.
    void
    Executes the task.
    protected void
    Runs the generated code and produces the JRXML image of the report.
    protected void
    scanDir(File srcdir, File destdir, String[] files)
    Scans the directory looking for source report design files to be processed.
    protected void
    Scans the source directories looking for source report design files to be processed.
    void
    setDestdir(File destdir)
    Sets the destination directory into which the Java report design files should be generated.
    void
    setRunApi(boolean runApi)
    If set to true, the task will run the API writer generated classes and produce JRXML source files.
    void
    setSrcdir(org.apache.tools.ant.types.Path srcdir)
    Sets the source directories to find the source files.
    protected void
    Performs the API code generation for the selected report design files.

    Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask

    add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems

    Methods inherited from class org.apache.tools.ant.Task

    bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

    Methods inherited from class org.apache.tools.ant.ProjectComponent

    clone, getDescription, getLocation, getProject, setDescription, setLocation

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JRAntApiWriteTask

      public JRAntApiWriteTask()
  • Method Details

    • setSrcdir

      public void setSrcdir(org.apache.tools.ant.types.Path srcdir)
      Sets the source directories to find the source files.
      Parameters:
      srcdir - source path
    • createSrc

      public org.apache.tools.ant.types.Path createSrc()
      Adds a path for source report templates.
      Returns:
      source path
    • setDestdir

      public void setDestdir(File destdir)
      Sets the destination directory into which the Java report design files should be generated.
      Parameters:
      destdir - destination directory
    • createClasspath

      public org.apache.tools.ant.types.Path createClasspath()
      Adds a path to the classpath.
      Returns:
      classpath to use when updating the report
    • setRunApi

      public void setRunApi(boolean runApi)
      If set to true, the task will run the API writer generated classes and produce JRXML source files.
    • execute

      public void execute() throws org.apache.tools.ant.BuildException
      Executes the task.
      Overrides:
      execute in class org.apache.tools.ant.Task
      Throws:
      org.apache.tools.ant.BuildException
    • checkParameters

      protected void checkParameters() throws org.apache.tools.ant.BuildException
      Checks that all required attributes have been set and that the supplied values are valid.
      Throws:
      org.apache.tools.ant.BuildException
    • scanSrc

      protected void scanSrc() throws org.apache.tools.ant.BuildException
      Scans the source directories looking for source report design files to be processed.
      Throws:
      org.apache.tools.ant.BuildException
    • scanDir

      protected void scanDir(File srcdir, File destdir, String[] files)
      Scans the directory looking for source report design files to be processed. The results are returned in the instance variable reportFilesMap.
      Parameters:
      srcdir - source directory
      destdir - destination directory
      files - included file names
    • writeApi

      protected void writeApi() throws org.apache.tools.ant.BuildException
      Performs the API code generation for the selected report design files.
      Throws:
      org.apache.tools.ant.BuildException
    • runApi

      protected void runApi() throws org.apache.tools.ant.BuildException
      Runs the generated code and produces the JRXML image of the report.
      Throws:
      org.apache.tools.ant.BuildException