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 java.lang.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 java.lang.String` | `BRIEF_FORMATTER_CLASS_NAME` | brief formatter class
`static java.lang.String` | `FAILURE_RECORDER_CLASS_NAME` | failure recorder class
`static java.lang.String` | `PLAIN_FORMATTER_CLASS_NAME` | plain formatter class
`static java.lang.String` | `XML_FORMATTER_CLASS_NAME` | xml formatter class

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`FormatterElement()` |

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`java.lang.String` | `getClassname()` | Get name of class to be used as the formatter.
`java.lang.String` | `getExtension()` | Get the extension used for the report file.
`void` | `setClassname​(java.lang.String classname)` | Set name of class to be used as the formatter.
`void` | `setExtension​(java.lang.String ext)` | Set the extension to use for the report file.
`void` | `setIf​(java.lang.Object ifCond)` | Set whether this formatter should be used.
`void` | `setIf​(java.lang.String ifCond)` | Set whether this formatter should be used.
`void` | `setOutput​(java.io.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​(java.lang.Object unlessCond)` | Set whether this formatter should NOT be used.
`void` | `setUnless​(java.lang.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 java.lang.String XML_FORMATTER_CLASS_NAME
xml formatter class

See Also:
  Constant Field Values

### BRIEF_FORMATTER_CLASS_NAME

public static final java.lang.String BRIEF_FORMATTER_CLASS_NAME
brief formatter class

See Also:
  Constant Field Values

### PLAIN_FORMATTER_CLASS_NAME

public static final java.lang.String PLAIN_FORMATTER_CLASS_NAME
plain formatter class

See Also:
  Constant Field Values

### FAILURE_RECORDER_CLASS_NAME

public static final java.lang.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​(java.lang.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 java.lang.String getClassname()
Get name of class to be used as the formatter.

Returns:
  the name of the class.

### setExtension

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

Parameters:
  `ext` - the extension to use.

### getExtension

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

Returns:
  the extension.

### setOutput

public void setOutput​(java.io.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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