org.apache.tools.ant.taskdefs.optional.junit

## Class AggregateTransformer

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

    public class AggregateTransformer
    extends java.lang.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
`static class` `AggregateTransformer.Format` defines acceptable formats.

### Field Summary

Fields
`protected static javax.xml.parsers.DocumentBuilderFactory` `dbfactory` XML Parser factory accessible to subclasses
`protected org.w3c.dom.Document` `document` the xml document to process
`protected java.lang.String` `format` the format to use for the report.
`static java.lang.String` `FRAMES` name of the frames format.
`static java.lang.String` `NOFRAMES` name of the no frames format.
`protected java.io.File` `styleDir` the style directory.
`protected Task` `task` Task
`protected java.io.File` `toDir` the destination directory, this is the root from where html should be generated

### Constructor Summary

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

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`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 javax.xml.parsers.DocumentBuilderFactory` `getDocumentBuilderFactory()` Get the Document Builder Factory
`protected Resource` `getStylesheet()` access the stylesheet to be used as a resource.
`protected java.lang.String` `getStylesheetSystemId()` Get the systemid of the appropriate stylesheet based on its name and styledir.
`void` `setExtension(java.lang.String ext)` set the extension of the output files
`void` `setFormat(AggregateTransformer.Format format)` sets the format.
`void` `setStyledir(java.io.File styledir)` set the style directory.
`void` `setTodir(java.io.File todir)` set the destination directory.
`void` `setXmlDocument(org.w3c.dom.Document doc)` sets the input document.
`protected void` `setXmlfile(java.io.File xmlfile)` Set the xml file to be processed.
`void` `transform()` transformation

### Methods inherited from class java.lang.Object

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

### Field Detail

#### FRAMES

    public static final java.lang.String FRAMES

name of the frames format.

See Also:
  Constant Field Values

#### NOFRAMES

    public static final java.lang.String NOFRAMES

name of the no frames format.

See Also:
  Constant Field Values

#### task

    protected Task task

Task

#### document

    protected org.w3c.dom.Document document

the xml document to process

#### styleDir

    protected java.io.File styleDir

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

#### toDir

    protected java.io.File toDir

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

#### format

    protected java.lang.String format

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

#### dbfactory

    protected static javax.xml.parsers.DocumentBuilderFactory dbfactory

XML Parser factory accessible to subclasses

### Constructor Detail

#### AggregateTransformer

    public AggregateTransformer(Task task)

constructor creating the transformer from the junitreport task.

Parameters:
  `task` - task delegating to this class

### Method Detail

#### getDocumentBuilderFactory

    protected static javax.xml.parsers.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(org.w3c.dom.Document doc)

sets the input document.

Parameters:
  `doc` - input dom tree

#### setXmlfile

    protected void setXmlfile(java.io.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(java.io.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(java.io.File todir)

set the destination directory.

Parameters:
  `todir` - the destination directory

#### setExtension

    public void setExtension(java.lang.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 java.lang.String getStylesheetSystemId()
                                              throws java.io.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:
  `java.io.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