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

# Class FormatterElement

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

public class FormatterElement extends Object

A wrapper for the implementations of `JUnitResultFormatter`. In particular, used as a nested `<formatter>` element in a `<junit>` task.

For example,

           <junit printsummary="no" haltonfailure="yes" fork="false">
               <formatter type="plain" usefile="false" />
               <test name="org.apache.ecs.InternationalCharTest" />
           </junit>

adds a `plain` type implementation (`PlainJUnitResultFormatter`) to display the results of the test.

Either the `type` or the `classname` attribute must be set.

See Also:
  - `JUnitTask`
  - `XMLJUnitResultFormatter`
  - `BriefJUnitResultFormatter`
  - `PlainJUnitResultFormatter`
  - `FailureRecorder`
  - `JUnitResultFormatter`

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`FormatterElement.TypeAttribute`
Enumerated attribute with the values "plain", "xml", "brief" and "failure".

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`BRIEF_FORMATTER_CLASS_NAME`
brief formatter class
`static final String`
`FAILURE_RECORDER_CLASS_NAME`
failure recorder class
`static final String`
`PLAIN_FORMATTER_CLASS_NAME`
plain formatter class
`static final String`
`XML_FORMATTER_CLASS_NAME`
xml formatter class

## Constructor Summary

Constructors
Constructor
Description
`FormatterElement()`

## Method Summary

Modifier and Type
Method
Description
`String`
`getClassname()`
Get name of class to be used as the formatter.
`String`
`getExtension()`
Get the extension used for the report file.
`void`
`setClassname(String classname)`
Set name of class to be used as the formatter.
`void`
`setExtension(String ext)`
Set the extension to use for the report file.
`void`
`setIf(Object ifCond)`
Set whether this formatter should be used.
`void`
`setIf(String ifCond)`
Set whether this formatter should be used.
`void`
`setOutput(OutputStream out)`
Set output stream for formatter to use.
`void`
`setProject(Project project)`
Store the project reference for passing it to nested components.
`void`
`setType(FormatterElement.TypeAttribute type)`
Quick way to use a standard formatter.
`void`
`setUnless(Object unlessCond)`
Set whether this formatter should NOT be used.
`void`
`setUnless(String unlessCond)`
Set whether this formatter should NOT be used.
`void`
`setUseFile(boolean useFile)`
Set whether the formatter should log to file.
`boolean`
`shouldUse(Task t)`
Ensures that the selector passes the conditions placed on it with `if` and `unless` properties.

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

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

## Field Details

### XML_FORMATTER_CLASS_NAME

public static final String XML_FORMATTER_CLASS_NAME
xml formatter class

See Also:
  - Constant Field Values

### BRIEF_FORMATTER_CLASS_NAME

public static final String BRIEF_FORMATTER_CLASS_NAME
brief formatter class

See Also:
  - Constant Field Values

### PLAIN_FORMATTER_CLASS_NAME

public static final String PLAIN_FORMATTER_CLASS_NAME
plain formatter class

See Also:
  - Constant Field Values

### FAILURE_RECORDER_CLASS_NAME

public static final String FAILURE_RECORDER_CLASS_NAME
failure recorder class

See Also:
  - Constant Field Values

## Constructor Details

### FormatterElement

public FormatterElement()

## Method Details

### setType

public void setType(FormatterElement.TypeAttribute type)

Quick way to use a standard formatter.

At the moment, there are three supported standard formatters.

- The `xml` type uses a `XMLJUnitResultFormatter`.
- The `brief` type uses a `BriefJUnitResultFormatter`.
- The `plain` type (the default) uses a `PlainJUnitResultFormatter`.
- The `failure` type uses a `FailureRecorder`.

Sets `classname` attribute - so you can't use that attribute if you use this one.

Parameters:
  `type` - the enumerated value to use.

### setClassname

public void setClassname(String classname)
Set name of class to be used as the formatter.

This class must implement `JUnitResultFormatter`

Parameters:
  `classname` - the name of the formatter class.

### getClassname

public String getClassname()
Get name of class to be used as the formatter.

Returns:
  the name of the class.

### setExtension

public void setExtension(String ext)
Set the extension to use for the report file.

Parameters:
  `ext` - the extension to use.

### getExtension

public String getExtension()
Get the extension used for the report file.

Returns:
  the extension.

### setOutput

public void setOutput(OutputStream out)
Set output stream for formatter to use.

Defaults to standard out.

Parameters:
  `out` - the output stream to use.

### setUseFile

public void setUseFile(boolean useFile)
Set whether the formatter should log to file.

Parameters:
  `useFile` - if true use a file, if false send to standard out.

### setIf

public void setIf(Object ifCond)
Set whether this formatter should be used. It will be used if the expression evaluates to true or the name of a property which has been set, otherwise it won't.

Parameters:
  `ifCond` - name of property
Since:
  Ant 1.8.0

### setIf

public void setIf(String ifCond)
Set whether this formatter should be used. It will be used if the expression evaluates to true or the name of a property which has been set, otherwise it won't.

Parameters:
  `ifCond` - name of property

### setUnless

public void setUnless(Object unlessCond)
Set whether this formatter should NOT be used. It will be used if the expression evaluates to false or the name of a property which has not been set, otherwise it will not be used.

Parameters:
  `unlessCond` - name of property
Since:
  Ant 1.8.0

### setUnless

public void setUnless(String unlessCond)
Set whether this formatter should NOT be used. It will be used if the expression evaluates to false or the name of a property which has not been set, otherwise it will not be used.

Parameters:
  `unlessCond` - name of property

### shouldUse

public boolean shouldUse(Task t)
Ensures that the selector passes the conditions placed on it with `if` and `unless` properties.

Parameters:
  `t` - the task the this formatter is used in.
Returns:
  true if the formatter should be used.

### setProject

public void setProject(Project project)
Store the project reference for passing it to nested components.

Parameters:
  `project` - the reference
Since:
  Ant 1.8