KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > idaremedia > antx > go > Unless


1 /**
2  * $Id: Unless.java 180 2007-03-15 12:56:38Z ssmc $
3  * Copyright 2003-2005 iDare Media, Inc. All rights reserved.
4  *
5  * Originally written by iDare Media, Inc. for release into the public domain. This
6  * library, source form and binary form, is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public License as published by the
8  * Free Software Foundation; either version 2.1 of the License, or (at your option) any
9  * later version.<p>
10  *
11  * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13  * See the GNU LGPL (GNU Lesser General Public License) for more details.<p>
14  *
15  * You should have received a copy of the GNU Lesser General Public License along with this
16  * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite
17  * 330, Boston, MA 02111-1307 USA. The LGPL can be found online at
18  * http://www.fsf.org/copyleft/lesser.html<p>
19  *
20  * This product has been influenced by several projects within the open-source community.
21  * The JWare developers wish to acknowledge the open-source community's support. For more
22  * information regarding the open-source products used within JWare, please visit the
23  * JWare website.
24  *----------------------------------------------------------------------------------------*
25  * WEBSITE- http://www.jware.info EMAIL- inquiries@jware.info
26  *----------------------------------------------------------------------------------------*
27  **/

28
29 package com.idaremedia.antx.go;
30
31 import org.apache.tools.ant.Project;
32
33 import com.idaremedia.antx.helpers.Tk;
34
35 /**
36  * Implementation of the general <i>unless</i> and <i>unlessTrue</i> tests for
37  * all conditional components.
38  *
39  * @since JWare/AntX 0.3
40  * @author ssmc, &copy;2003-2005 <a HREF="http://www.jware.info">iDare&nbsp;Media,&nbsp;Inc.</a>
41  * @version 0.5
42  * @.safety multiple
43  * @.group impl,helper
44  **/

45
46 public final class Unless
47 {
48     /**
49      * Tests whether or not the given property name does not
50      * resolve to a project property. Always returns <i>true</i>
51      * for the <i>null</i> or empty string.
52      * @param property the property name (non-null)
53      * @param P the project to check against (non-null)
54      * @return <i>true</i> if the property is <em>not</em> defined
55      **/

56     public static final boolean allowed(String JavaDoc property, Project P)
57     {
58         return allowed(property, P, false);
59     }
60
61
62
63     /**
64      * Tests whether or not the given property name does not
65      * resolve to a project property with a positive boolean
66      * value. Always returns <i>true</i> for the <i>null</i>
67      * or empty string.
68      * @param property the property name (non-null)
69      * @param P the project to check against (non-null)
70      * @param onlyUnlessTrue <i>true</i> if property must be defined
71      * to a positive boolean string (like "yes")
72      * @return <i>true</i> if the property is <em>not</em> defined
73      * or is not defined as to be positive boolean
74      **/

75     public static final boolean allowed(String JavaDoc property, Project P,
76                                         boolean onlyUnlessTrue)
77     {
78         if (property==null || "".equals(property)) {
79             return true;
80         }
81         String JavaDoc test = Tk.resolveString(P,property);
82         if (onlyUnlessTrue) {
83             return !Tk.booleanFrom(P.getProperty(test));//allow off,no,false
84
}
85         return P.getProperty(test)==null;
86     }
87
88
89     /** Don't allow **/
90     private Unless()
91     {
92     }
93 }
94
95 /* end-of-Unless.java */
96
Popular Tags