Class 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".
    • 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