Browse Source

new istrue/isfalse conditions

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272521 13f79535-47bb-0310-9956-ffa450edef68
master
Steve Loughran 23 years ago
parent
commit
96ee13b7c9
4 changed files with 244 additions and 8 deletions
  1. +41
    -1
      docs/manual/CoreTasks/conditions.html
  2. +21
    -7
      src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java
  3. +91
    -0
      src/main/org/apache/tools/ant/taskdefs/condition/IsFalse.java
  4. +91
    -0
      src/main/org/apache/tools/ant/taskdefs/condition/IsTrue.java

+ 41
- 1
docs/manual/CoreTasks/conditions.html View File

@@ -213,7 +213,7 @@ or the filenames match the answer is so obvious the detailed test is omitted.
</table>

<h4>contains</h4>
<p>Tests whether the a given Strings contains another one.</p>
<p>Tests whether a string contains another one.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
@@ -238,6 +238,46 @@ or the filenames match the answer is so obvious the detailed test is omitted.
</tr>
</table>

<h4>istrue</h4>
<p>Tests whether a string equals any of the ant definitions of true,
that is "true","yes", or "on"</p>
<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">value</td>
<td valign="top">value to test</td>
<td valign="top" align="center">Yes</td>
</tr>
</table>
<pre>
&lt;istrue value=&quot;${someproperty}&quot; /&gt;
&lt;istrue value=&quot;false&quot; /&gt;
</pre>
<h4>isfalse</h4>
<p>Tests whether a string is not true, the negation of &lt;istrue&gt;
</p>
<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">value</td>
<td valign="top">value to test</td>
<td valign="top" align="center">Yes</td>
</tr>
</table>
<pre>
&lt;isfalse value=&quot;${someproperty}&quot; /&gt;
&lt;isfalse value=&quot;false&quot; /&gt;
</pre>
<hr>
<p align="center">Copyright &copy; 2001-2002 Apache Software
Foundation. All rights Reserved.</p>


+ 21
- 7
src/main/org/apache/tools/ant/taskdefs/condition/ConditionBase.java View File

@@ -152,36 +152,50 @@ public abstract class ConditionBase extends ProjectComponent {
/**
* Add an &lt;isset&gt; condition.
*
* @since 1.2, Ant 1.5
* @since Ant 1.5
*/
public void addIsSet(IsSet i) {conditions.addElement(i);}

/**
* Add an &lt;http&gt; condition.
*
* @since 1.7, Ant 1.5
* @since Ant 1.5
*/
public void addHttp(Http h) {conditions.addElement(h);}

/**
* Add a &lt;socket&gt; condition.
*
* @since 1.7, Ant 1.5
* @since Ant 1.5
*/
public void addSocket(Socket s) {conditions.addElement(s);}

/**
* Add a &lt;filesmatch&gt; condition.
*
* @since 1.8, Ant 1.5
* @since Ant 1.5
*/
public void addFilesMatch(FilesMatch test) {conditions.addElement(test);}
/**
* Add a &lt;filesmatch&gt; condition.
* Add a &lt;contains&gt; condition.
*
* @since 1.10, Ant 1.5
* @since Ant 1.5
*/
public void addContains(Contains test) {conditions.addElement(test);}

/**
* Add a &lt;istrue&gt; condition.
*
* @since Ant 1.5
*/
public void addIsTrue(IsTrue test) {conditions.addElement(test);}

/**
* Add a &lt;isfalse&gt; condition.
*
* @since Ant 1.5
*/
public void addIsFalse(IsFalse test) {conditions.addElement(test);}
}

+ 91
- 0
src/main/org/apache/tools/ant/taskdefs/condition/IsFalse.java View File

@@ -0,0 +1,91 @@
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2001-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Ant", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/

package org.apache.tools.ant.taskdefs.condition;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.ProjectComponent;

/**
* Condition that tests whether a given string evals to false
*
* @author Steve Loughran
* @since Ant 1.5
*/
public class IsFalse extends ProjectComponent implements Condition {
/**
* what we eval
*/
private Boolean value=null;

/**
* set the value to be tested; let ant eval it to true/false
*/
public void setValue(boolean value) {
this.value = new Boolean(value);
}

/**
* return the inverted value;
* @throws BuildException if someone forgot to spec a value
*/
public boolean eval() throws BuildException {
if (value == null) {
throw new BuildException("Nothing to test for falsehood");
}
return !value.booleanValue();
}

}


+ 91
- 0
src/main/org/apache/tools/ant/taskdefs/condition/IsTrue.java View File

@@ -0,0 +1,91 @@
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2001-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Ant", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/

package org.apache.tools.ant.taskdefs.condition;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.ProjectComponent;

/**
* Condition that tests whether a given string evals to true
*
* @author Steve Loughran
* @since Ant 1.5
*/
public class IsTrue extends ProjectComponent implements Condition {
/**
* what we eval
*/
private Boolean value=null;

/**
* set the value to be tested; let ant eval it to true/false
*/
public void setValue(boolean value) {
this.value = new Boolean(value);
}

/**
* return the value;
* @throws BuildException if someone forgot to spec a value
*/
public boolean eval() throws BuildException {
if (value == null) {
throw new BuildException("Nothing to test for truth");
}
return value.booleanValue();
}

}


Loading…
Cancel
Save