AggregateTransformer (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs.optional.junit, class: AggregateTransformer

# Class AggregateTransformer

java.lang.Object
org.apache.tools.ant.taskdefs.optional.junit.AggregateTransformer

public class AggregateTransformer extends Object
Transform a JUnit xml report. The default transformation generates an html report in either framed or non-framed style. The non-framed style is convenient to have a concise report via mail, the framed report is much more convenient if you want to browse into different packages or testcases since it is a Javadoc like report.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `AggregateTransformer.Format`
  defines acceptable formats.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static DocumentBuilderFactory`
  `dbfactory`
  XML Parser factory accessible to subclasses
  `protected Document`
  `document`
  the xml document to process
  `protected String`
  `format`
  the format to use for the report.
  `static final String`
  `FRAMES`
  name of the frames format.
  `static final String`
  `NOFRAMES`
  name of the no frames format.
  `protected File`
  `styleDir`
  the style directory.
  `protected Task`
  `task`
  Task
  `protected File`
  `toDir`
  the destination directory, this is the root from where html should be generated

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AggregateTransformer(Task task)`
  constructor creating the transformer from the junitreport task.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `checkOptions()`
  check for invalid options
  `protected void`
  `configureForRedirectExtension()`
  If we end up using the JDK's own TraX factory on Java 9+, then set the features and attributes necessary to allow redirect extensions to be used.
  `Path`
  `createClasspath()`
  Creates a classpath to be used for the internal XSLT task.
  `XSLTProcess.Factory`
  `createFactory()`
  Creates a factory configuration to be used for the internal XSLT task.
  `XSLTProcess.Param`
  `createParam()`
  Create an instance of an XSL parameter for configuration by Ant.
  `protected static DocumentBuilderFactory`
  `getDocumentBuilderFactory()`
  Get the Document Builder Factory
  `protected Resource`
  `getStylesheet()`
  access the stylesheet to be used as a resource.
  `protected String`
  `getStylesheetSystemId()`
  Get the systemid of the appropriate stylesheet based on its name and styledir.
  `void`
  `setExtension(String ext)`
  set the extension of the output files
  `void`
  `setFormat(AggregateTransformer.Format format)`
  sets the format.
  `void`
  `setStyledir(File styledir)`
  set the style directory.
  `void`
  `setTodir(File todir)`
  set the destination directory.
  `void`
  `setXmlDocument(Document doc)`
  sets the input document.
  `protected void`
  `setXmlfile(File xmlfile)`
  Set the xml file to be processed.
  `void`
  `transform()`
  transformation

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### FRAMES

    public static final String FRAMES
    name of the frames format.
    See Also:
      - Constant Field Values

  - ### NOFRAMES

    public static final String NOFRAMES
    name of the no frames format.
    See Also:
      - Constant Field Values

  - ### dbfactory

    protected static DocumentBuilderFactory dbfactory
    XML Parser factory accessible to subclasses

  - ### task

    protected Task task
    Task

  - ### document

    protected Document document
    the xml document to process

  - ### styleDir

    protected File styleDir
    the style directory. XSLs should be read from here if necessary

  - ### toDir

    protected File toDir
    the destination directory, this is the root from where html should be generated

  - ### format

    protected String format
    the format to use for the report. Must be `FRAMES` or `NOFRAMES`

- ## Constructor Details

  - ### AggregateTransformer

    public AggregateTransformer(Task task)
    constructor creating the transformer from the junitreport task.
    Parameters:
      `task` - task delegating to this class

- ## Method Details

  - ### getDocumentBuilderFactory

    protected static DocumentBuilderFactory getDocumentBuilderFactory()
    Get the Document Builder Factory
    Returns:
      the DocumentBuilderFactory instance in use

  - ### setFormat

    public void setFormat(AggregateTransformer.Format format)
    sets the format.
    Parameters:
      `format` - Must be `FRAMES` or `NOFRAMES`

  - ### setXmlDocument

    public void setXmlDocument(Document doc)
    sets the input document.
    Parameters:
      `doc` - input dom tree

  - ### setXmlfile

    protected void setXmlfile(File xmlfile) throws BuildException
    Set the xml file to be processed. This is a helper if you want to set the file directly. Much more for testing purposes.
    Parameters:
      `xmlfile` - xml file to be processed
    Throws:
      `BuildException` - if the document cannot be parsed.

  - ### setStyledir

    public void setStyledir(File styledir)
    set the style directory. It is optional and will override the default xsl used.
    Parameters:
      `styledir` - the directory containing the xsl files if the user would like to override with its own style.

  - ### setTodir

    public void setTodir(File todir)
    set the destination directory.
    Parameters:
      `todir` - the destination directory

  - ### setExtension

    public void setExtension(String ext)
    set the extension of the output files
    Parameters:
      `ext` - extension.

  - ### createParam

    public XSLTProcess.Param createParam()
    Create an instance of an XSL parameter for configuration by Ant.
    Returns:
      an instance of the Param class to be configured.
    Since:
      Ant 1.7

  - ### createClasspath

    public Path createClasspath()
    Creates a classpath to be used for the internal XSLT task.
    Returns:
      the classpath to be configured
    Since:
      Ant 1.9.5

  - ### createFactory

    public XSLTProcess.Factory createFactory()
    Creates a factory configuration to be used for the internal XSLT task.
    Returns:
      the factory description to be configured
    Since:
      Ant 1.9.5

  - ### transform

    public void transform() throws BuildException
    transformation
    Throws:
      `BuildException` - exception if something goes wrong with the transformation.

  - ### getStylesheet

    protected Resource getStylesheet()
    access the stylesheet to be used as a resource.
    Returns:
      stylesheet as a resource

  - ### checkOptions

    protected void checkOptions() throws BuildException
    check for invalid options
    Throws:
      `BuildException` - if something goes wrong.

  - ### getStylesheetSystemId

    protected String getStylesheetSystemId() throws IOException
    Get the systemid of the appropriate stylesheet based on its name and styledir. If no styledir is defined it will load it as a java resource in the xsl child package, otherwise it will get it from the given directory.
    Returns:
      system ID of the stylesheet.
    Throws:
      `IOException` - thrown if the requested stylesheet does not exist.

  - ### configureForRedirectExtension

    protected void configureForRedirectExtension()
    If we end up using the JDK's own TraX factory on Java 9+, then set the features and attributes necessary to allow redirect extensions to be used.
    Since:
      Ant 1.9.8