<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<title>Condition Task</title>
</head>

<body>

<h2><a name="Condition">Condition</a></h2>
<h3>Description</h3>
<p>Sets a property if a certain condition holds true - this is a
generalization of <a href="available.html">Available</a> and <a
href="uptodate.html">Uptodate</a>.</p>
<p>If the condition holds true, the property value is set to true by
default; otherwise, the property is not set. You can set the value to
something other than the default by specifying the <code>value</code>
attribute.</p>
<p>Conditions are specified as <a href="#nested">nested elements</a>,
you must specify exactly one condition.</p>
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
  <tr>
    <td valign="top"><b>Attribute</b></td>
    <td valign="top"><b>Description</b></td>
    <td align="center" valign="top"><b>Required</b></td>
  </tr>
  <tr>
    <td valign="top">property</td>
    <td valign="top">The name of the property to set.</td>
    <td valign="top" align="center">Yes</td>
  </tr>
  <tr>
    <td valign="top">value</td>
    <td valign="top">The value to set the property to. Defaults to
      &quot;true&quot;.</td>
    <td valign="top" align="center">No</td>
  </tr>
</table>
<h3><a name="nested">Parameters specified as nested elements</a></h3>
<p>All conditions to test are specified as nested elements, for a
complete list see <a href="conditions.html">here</a>.</p>

<h3>Examples</h3>
<pre>
  &lt;condition property=&quot;javamail.complete&quot;&gt;
    &lt;and&gt;
      &lt;available classname=&quot;javax.activation.DataHandler&quot; /&gt;
      &lt;available classname=&quot;javax.mail.Transport&quot; /&gt;
    &lt;/and&gt;
  &lt;/condition&gt;
</pre>
<p>sets the property <code>javamail.complete</code> if both the
JavaBeans Activation Framework and JavaMail are available in the
classpath.</p>

<pre>
  &lt;condition property=&quot;isMacOsButNotMacOsX&quot;&gt;
    &lt;and&gt;
      &lt;os family=&quot;mac&quot; />
      &lt;not&gt;
        &lt;os family=&quot;unix&quot; />
      &lt;/not&gt;
    &lt;/and&gt;
  &lt;/condition&gt;
</pre>
<p>sets the property <code>isMacOsButNotMacOsX</code> if the current
operating system is MacOS, but not MacOS X - which Ant considers to be
in the Unix family as well.</p>

<pre>
  &lt;condition property=&quot;isSunOSonSparc&quot;&gt;
    &lt;os name=&quot;SunOS&quot; arch=&quot;sparc&quot; />
  &lt;/condition&gt;
</pre>
<p>sets the property <code>isSunOSonSparc</code> if the current
operating system is SunOS and if it is running on a sparc architecture.</p>

<hr>
<p align="center">Copyright &copy; 2001 Apache Software
Foundation. All rights Reserved.</p>

</body>
</html>