ConditionBase (Apache Ant API)
Date: 2018-09-11

Package org.apache.tools.ant.taskdefs.condition

## Class ConditionBase

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.taskdefs.condition.ConditionBase

- All Implemented Interfaces:
    `java.lang.Cloneable`
  Direct Known Subclasses:
    `And`, `ConditionTask`, `Not`, `Or`, `WaitFor`, `Xor`

      public abstract class ConditionBase
      extends ProjectComponent

  Baseclass for the <condition> task as well as several conditions - ensures that the types of conditions inside the task and the "container" conditions are in sync.
  Since:
    Ant 1.4

- - ### Field Summary

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `ConditionBase()` | Simple constructor.
    `protected` | `ConditionBase​(java.lang.String taskName)` | Constructor that takes the name of the task in the task name.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(Condition c)` | Add an arbitrary condition
    `void` | `addAnd​(And a)` | Add an <and> condition "container".
    `void` | `addAvailable​(Available a)` | Add an <available> condition.
    `void` | `addChecksum​(Checksum c)` | Add an <checksum> condition.
    `void` | `addContains​(Contains test)` | Add a <contains> condition.
    `void` | `addEquals​(Equals e)` | Add an <equals> condition.
    `void` | `addFilesMatch​(FilesMatch test)` | Add a <filesmatch> condition.
    `void` | `addHttp​(Http h)` | Add an <http> condition.
    `void` | `addIsFalse​(IsFalse test)` | Add a <isfalse> condition.
    `void` | `addIsFileSelected​(IsFileSelected test)` | Add an <isfileselected> condition.
    `void` | `addIsReference​(IsReference i)` | Add an <isreference> condition.
    `void` | `addIsSet​(IsSet i)` | Add an <isset> condition.
    `void` | `addIsTrue​(IsTrue test)` | Add a <istrue> condition.
    `void` | `addNot​(Not n)` | Add an <not> condition "container".
    `void` | `addOr​(Or o)` | Add an <or> condition "container".
    `void` | `addOs​(Os o)` | Add an <os> condition.
    `void` | `addSocket​(Socket s)` | Add a <socket> condition.
    `void` | `addUptodate​(UpToDate u)` | Add an <uptodate> condition.
    `protected int` | `countConditions()` | Count the conditions.
    `protected java.util.Enumeration<Condition>` | `getConditions()` | Iterate through all conditions.
    `java.lang.String` | `getTaskName()` | Returns the name to use in logging messages.
    `void` | `setTaskName​(java.lang.String name)` | Sets the name to use in logging messages.

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

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

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`

- - ### Constructor Detail

    - #### ConditionBase

          protected ConditionBase()

      Simple constructor.

    - #### ConditionBase

          protected ConditionBase​(java.lang.String taskName)

      Constructor that takes the name of the task in the task name.
      Parameters:
        `taskName` - the name of the task.
      Since:
        Ant 1.7

  - ### Method Detail

    - #### countConditions

          protected int countConditions()

      Count the conditions.
      Returns:
        the number of conditions in the container
      Since:
        1.1

    - #### getConditions

          protected final java.util.Enumeration<Condition> getConditions()

      Iterate through all conditions.
      Returns:
        an enumeration to use for iteration
      Since:
        1.1

    - #### setTaskName

          public void setTaskName​(java.lang.String name)

      Sets the name to use in logging messages.
      Parameters:
        `name` - The name to use in logging messages. Should not be `null`.
      Since:
        Ant 1.7

    - #### getTaskName

          public java.lang.String getTaskName()

      Returns the name to use in logging messages.
      Returns:
        the name to use in logging messages.
      Since:
        Ant 1.7

    - #### addAvailable

          public void addAvailable​(Available a)

      Add an <available> condition.
      Parameters:
        `a` - an available condition
      Since:
        1.1

    - #### addChecksum

          public void addChecksum​(Checksum c)

      Add an <checksum> condition.
      Parameters:
        `c` - a Checksum condition
      Since:
        1.4, Ant 1.5

    - #### addUptodate

          public void addUptodate​(UpToDate u)

      Add an <uptodate> condition.
      Parameters:
        `u` - an UpToDate condition
      Since:
        1.1

    - #### addNot

          public void addNot​(Not n)

      Add an <not> condition "container".
      Parameters:
        `n` - a Not condition
      Since:
        1.1

    - #### addAnd

          public void addAnd​(And a)

      Add an <and> condition "container".
      Parameters:
        `a` - an And condition
      Since:
        1.1

    - #### addOr

          public void addOr​(Or o)

      Add an <or> condition "container".
      Parameters:
        `o` - an Or condition
      Since:
        1.1

    - #### addEquals

          public void addEquals​(Equals e)

      Add an <equals> condition.
      Parameters:
        `e` - an Equals condition
      Since:
        1.1

    - #### addOs

          public void addOs​(Os o)

      Add an <os> condition.
      Parameters:
        `o` - an Os condition
      Since:
        1.1

    - #### addIsSet

          public void addIsSet​(IsSet i)

      Add an <isset> condition.
      Parameters:
        `i` - an IsSet condition
      Since:
        Ant 1.5

    - #### addHttp

          public void addHttp​(Http h)

      Add an <http> condition.
      Parameters:
        `h` - an Http condition
      Since:
        Ant 1.5

    - #### addSocket

          public void addSocket​(Socket s)

      Add a <socket> condition.
      Parameters:
        `s` - a Socket condition
      Since:
        Ant 1.5

    - #### addFilesMatch

          public void addFilesMatch​(FilesMatch test)

      Add a <filesmatch> condition.
      Parameters:
        `test` - a FilesMatch condition
      Since:
        Ant 1.5

    - #### addContains

          public void addContains​(Contains test)

      Add a <contains> condition.
      Parameters:
        `test` - a Contains condition
      Since:
        Ant 1.5

    - #### addIsTrue

          public void addIsTrue​(IsTrue test)

      Add a <istrue> condition.
      Parameters:
        `test` - an IsTrue condition
      Since:
        Ant 1.5

    - #### addIsFalse

          public void addIsFalse​(IsFalse test)

      Add a <isfalse> condition.
      Parameters:
        `test` - an IsFalse condition
      Since:
        Ant 1.5

    - #### addIsReference

          public void addIsReference​(IsReference i)

      Add an <isreference> condition.
      Parameters:
        `i` - an IsReference condition
      Since:
        Ant 1.6

    - #### addIsFileSelected

          public void addIsFileSelected​(IsFileSelected test)

      Add an <isfileselected> condition.
      Parameters:
        `test` - the condition

    - #### add

          public void add​(Condition c)

      Add an arbitrary condition
      Parameters:
        `c` - a condition
      Since:
        Ant 1.6