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

# 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 java.lang.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