KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > idaremedia > antx > valueuri > condition > DefinedValueURIHandler


1 /**
2  * $Id: DefinedValueURIHandler.java 180 2007-03-15 12:56:38Z ssmc $
3  * Copyright 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 (LGPL) as published
8  * by the Free Software Foundation; either version 2.1 of the License, or (at your option)
9  * any 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 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 GNU 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.valueuri.condition;
30
31 import com.idaremedia.antx.apis.Requester;
32 import com.idaremedia.antx.condition.IsNotWhitespace;
33 import com.idaremedia.antx.parameters.Handling;
34 import com.idaremedia.antx.starters.ValueURIHandlerSkeleton;
35
36 /**
37  * Value URI handler that returns the true if the source value is not whitespace and
38  * does not contain unresolved property references. Useful for checking incoming
39  * attributes to macrodefs and criteria.
40  * <p/>
41  * <b>Example Usage:</b><pre>
42  * &lt;do true="${<b>$isdefined:</b>@{arg1}}"&gt;
43  * &#8230;
44  *
45  * &lt;domatch value="${<b>$defined:</b>@{attribute}}"&gt;
46  * &lt;true&gt;&#8230;
47  * &lt;otherwise&gt;&#8230;
48  *
49  * -- To Install --
50  * &lt;manageuris action="install"&gt;
51  * &lt;parameter name="defined"
52  * value="com.idaremedia.antx.valueuri.condition.DefinedValueURIHandler"/&gt;
53  * &lt;parameter name="isdefined"
54  * value="com.idaremedia.antx.valueuri.condition.DefinedValueURIHandler"/&gt;
55  * &lt;/manageuris&gt;
56  * </pre>
57  *
58  * @since JWare/AntX 0.5
59  * @author ssmc, &copy;2005 <a HREF="http://www.jware.info">iDare&nbsp;Media,&nbsp;Inc.</a>
60  * @version 0.5
61  * @.safety multiple
62  * @.group api,helper
63  **/

64
65 public final class DefinedValueURIHandler extends ValueURIHandlerSkeleton
66 {
67     /**
68      * Initializes a new $defined: value uri handler.
69      **/

70     public DefinedValueURIHandler()
71     {
72         super();
73     }
74
75
76     /**
77      * Returns <span class="src">true</span> iff the incoming fragment
78      * is not all whitespace and contains no unresolved property references.
79      **/

80     public String JavaDoc valueFrom(String JavaDoc uriFragment, String JavaDoc fullUri, Requester clnt)
81     {
82         IsNotWhitespace check = new IsNotWhitespace();
83         check.setProject(clnt.getProject());
84         check.xsetFromURI(uriFragment);
85         check.setMalformed(Handling.REJECT);
86         return String.valueOf(check.eval());
87     }
88 }
89
90 /* end-of-DefinedValueURIHandler.java */
Popular Tags