## 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
`static class` `AggregateTransformer.Format` defines acceptable formats.

Field Summary
`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
`AggregateTransformer(Task task)` constructor creating the transformer from the junitreport task.

Method Summary
`protected void` `checkOptions()` check for invalid options
`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

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