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 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
Modifier and Type | Class | Description
--- | --- | ---
`static class` | `AggregateTransformer.Format` | defines acceptable formats.

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`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 | 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 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 Details

### 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

### dbfactory

protected static javax.xml.parsers.DocumentBuilderFactory dbfactory
XML Parser factory accessible to subclasses

### 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`

## 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 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