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

    All Methods Instance Methods Concrete Methods
    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 Detail

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

    - #### FormatterElement

          public FormatterElement()

  - ### Method Detail

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