????
| Current Path : /opt/ant/manual/api/org/apache/tools/ant/ |
| Current File : //opt/ant/manual/api/org/apache/tools/ant/PropertyHelper.html |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_03) on Tue May 22 06:24:50 CEST 2012 -->
<title>PropertyHelper (Apache Ant API)</title>
<meta name="date" content="2012-05-22">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PropertyHelper (Apache Ant API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/tools/ant/ProjectHelperRepository.html" title="class in org.apache.tools.ant"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/tools/ant/PropertyHelper.Delegate.html" title="interface in org.apache.tools.ant"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/tools/ant/PropertyHelper.html" target="_top">Frames</a></li>
<li><a href="PropertyHelper.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li><a href="#nested_class_summary">Nested</a> | </li>
<li>Field | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.tools.ant</div>
<h2 title="Class PropertyHelper" class="title">Class PropertyHelper</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.tools.ant.PropertyHelper</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../org/apache/tools/ant/property/GetProperty.html" title="interface in org.apache.tools.ant.property">GetProperty</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">PropertyHelper</span>
extends java.lang.Object
implements <a href="../../../../org/apache/tools/ant/property/GetProperty.html" title="interface in org.apache.tools.ant.property">GetProperty</a></pre>
<div class="block">Deals with properties - substitution, dynamic properties, etc.
<p>This code has been heavily restructured for Ant 1.8.0. It is
expected that custom PropertyHelper implementation that used the
older chaining mechanism of Ant 1.6 won't work in all cases, and
its usage is deprecated. The preferred way to customize Ant's
property handling is by <a href="../../../../org/apache/tools/ant/PropertyHelper.html#add(org.apache.tools.ant.PropertyHelper.Delegate)"><code>adding</code></a> <a href="../../../../org/apache/tools/ant/PropertyHelper.Delegate.html" title="interface in org.apache.tools.ant"><code>delegates</code></a> of the appropriate subinterface
and have this implementation use them.</p>
<p>When <a href="../../../../org/apache/tools/ant/PropertyHelper.html#parseProperties(java.lang.String)"><code>expanding a string that may contain
properties</code></a> this class will delegate the actual parsing to <a href="../../../../org/apache/tools/ant/property/ParseProperties.html#parseProperties(java.lang.String)"><code>parseProperties</code></a> inside the ParseProperties class which in turn
uses the <a href="../../../../org/apache/tools/ant/property/PropertyExpander.html" title="interface in org.apache.tools.ant.property"><code>PropertyExpander delegates</code></a> to find properties inside the string
and this class to expand the propertiy names found into the
corresponding values.</p>
<p>When <a href="../../../../org/apache/tools/ant/PropertyHelper.html#getProperty(org.apache.tools.ant.Project, java.lang.String)"><code>looking up a property value</code></a> this class
will first consult all <a href="../../../../org/apache/tools/ant/PropertyHelper.PropertyEvaluator.html" title="interface in org.apache.tools.ant"><code>PropertyEvaluator</code></a> delegates and fall back to an internal map of
"project properties" if no evaluator matched the property name.</p>
<p>When <a href="../../../../org/apache/tools/ant/PropertyHelper.html#setProperty(org.apache.tools.ant.Project, java.lang.String, java.lang.Object)"><code>setting a property value</code></a> this class
will first consult all <a href="../../../../org/apache/tools/ant/PropertyHelper.PropertySetter.html" title="interface in org.apache.tools.ant"><code>PropertySetter</code></a> delegates and fall back to an internal map of
"project properties" if no setter matched the property name.</p></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.6</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested_class_summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface </code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.Delegate.html" title="interface in org.apache.tools.ant">PropertyHelper.Delegate</a></strong></code>
<div class="block">Marker interface for a PropertyHelper delegate.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface </code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.PropertyEvaluator.html" title="interface in org.apache.tools.ant">PropertyHelper.PropertyEvaluator</a></strong></code>
<div class="block">Looks up a property's value based on its name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface </code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.PropertySetter.html" title="interface in org.apache.tools.ant">PropertyHelper.PropertySetter</a></strong></code>
<div class="block">Sets or overrides a property.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#PropertyHelper()">PropertyHelper</a></strong>()</code>
<div class="block">Default constructor.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#add(org.apache.tools.ant.PropertyHelper.Delegate)">add</a></strong>(<a href="../../../../org/apache/tools/ant/PropertyHelper.Delegate.html" title="interface in org.apache.tools.ant">PropertyHelper.Delegate</a> delegate)</code>
<div class="block">Add the specified delegate object to this PropertyHelper.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#containsProperties(java.lang.String)">containsProperties</a></strong>(java.lang.String value)</code>
<div class="block">Learn whether a String contains replaceable properties.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#copyInheritedProperties(org.apache.tools.ant.Project)">copyInheritedProperties</a></strong>(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> other)</code>
<div class="block">Copies all user properties that have not been set on the
command line or a GUI tool from this instance to the Project
instance given as the argument.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#copyUserProperties(org.apache.tools.ant.Project)">copyUserProperties</a></strong>(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> other)</code>
<div class="block">Copies all user properties that have been set on the command
line or a GUI tool from this instance to the Project instance
given as the argument.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static java.util.Set</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getDelegateInterfaces(org.apache.tools.ant.PropertyHelper.Delegate)">getDelegateInterfaces</a></strong>(<a href="../../../../org/apache/tools/ant/PropertyHelper.Delegate.html" title="interface in org.apache.tools.ant">PropertyHelper.Delegate</a> d)</code>
<div class="block">Get all Delegate interfaces (excluding Delegate itself) from the specified Delegate.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.util.List</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getDelegates(java.lang.Class)">getDelegates</a></strong>(java.lang.Class type)</code>
<div class="block">Get the Collection of delegates of the specified type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Collection</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getExpanders()">getExpanders</a></strong>()</code>
<div class="block">Get the <a href="../../../../org/apache/tools/ant/property/PropertyExpander.html" title="interface in org.apache.tools.ant.property"><code>expanders</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Hashtable</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getInheritedProperties()">getInheritedProperties</a></strong>()</code>
<div class="block">Returns a copy of the inherited property hashtable</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Hashtable</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getInternalInheritedProperties()">getInternalInheritedProperties</a></strong>()</code>
<div class="block">special back door for subclasses, internal access to the hashtables</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.util.Hashtable</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getInternalProperties()">getInternalProperties</a></strong>()</code>
<div class="block">special back door for subclasses, internal access to the hashtables</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Hashtable</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getInternalUserProperties()">getInternalUserProperties</a></strong>()</code>
<div class="block">special back door for subclasses, internal access to the hashtables</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/tools/ant/PropertyHelper.html" title="class in org.apache.tools.ant">PropertyHelper</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getNext()">getNext</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>
<div class="block"><i>use the delegate mechanism instead</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getProject()">getProject</a></strong>()</code>
<div class="block">Get this PropertyHelper's Project.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Hashtable</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getProperties()">getProperties</a></strong>()</code>
<div class="block">Returns a copy of the properties table.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getProperty(org.apache.tools.ant.Project, java.lang.String)">getProperty</a></strong>(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> project,
java.lang.String name)</code>
<div class="block">A helper static method to get a property
from a particular project.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getProperty(java.lang.String)">getProperty</a></strong>(java.lang.String name)</code>
<div class="block">Returns the value of a property, if it is set.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getProperty(java.lang.String, java.lang.String)">getProperty</a></strong>(java.lang.String ns,
java.lang.String name)</code>
<div class="block"><strong>Deprecated.</strong>
<div class="block"><i>namespaces are unnecessary.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/tools/ant/PropertyHelper.html" title="class in org.apache.tools.ant">PropertyHelper</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getPropertyHelper(org.apache.tools.ant.Project)">getPropertyHelper</a></strong>(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> project)</code>
<div class="block">Factory method to create a property processor.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getPropertyHook(java.lang.String, java.lang.String, boolean)">getPropertyHook</a></strong>(java.lang.String ns,
java.lang.String name,
boolean user)</code>
<div class="block"><strong>Deprecated.</strong>
<div class="block"><i>PropertyHelper chaining is deprecated.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Hashtable</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getUserProperties()">getUserProperties</a></strong>()</code>
<div class="block">Returns a copy of the user property hashtable</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getUserProperty(java.lang.String)">getUserProperty</a></strong>(java.lang.String name)</code>
<div class="block">Returns the value of a user property, if it is set.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#getUserProperty(java.lang.String, java.lang.String)">getUserProperty</a></strong>(java.lang.String ns,
java.lang.String name)</code>
<div class="block"><strong>Deprecated.</strong>
<div class="block"><i>namespaces are unnecessary.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#parseProperties(java.lang.String)">parseProperties</a></strong>(java.lang.String value)</code>
<div class="block">Decode properties from a String representation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#parsePropertyString(java.lang.String, java.util.Vector, java.util.Vector)">parsePropertyString</a></strong>(java.lang.String value,
java.util.Vector fragments,
java.util.Vector propertyRefs)</code>
<div class="block"><strong>Deprecated.</strong>
<div class="block"><i>use the other mechanisms of this class instead</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#replaceProperties(java.lang.String)">replaceProperties</a></strong>(java.lang.String value)</code>
<div class="block">Replaces <code>${xxx}</code> style constructions in the given value
with the string value of the corresponding data types.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#replaceProperties(java.lang.String, java.lang.String, java.util.Hashtable)">replaceProperties</a></strong>(java.lang.String ns,
java.lang.String value,
java.util.Hashtable keys)</code>
<div class="block">Replaces <code>${xxx}</code> style constructions in the given value
with the string value of the corresponding data types.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setInheritedProperty(java.lang.String, java.lang.Object)">setInheritedProperty</a></strong>(java.lang.String name,
java.lang.Object value)</code>
<div class="block">Sets an inherited user property, which cannot be overwritten by set/unset
property calls.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setInheritedProperty(java.lang.String, java.lang.String, java.lang.Object)">setInheritedProperty</a></strong>(java.lang.String ns,
java.lang.String name,
java.lang.Object value)</code>
<div class="block"><strong>Deprecated.</strong>
<div class="block"><i>namespaces are unnecessary.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setNewProperty(org.apache.tools.ant.Project, java.lang.String, java.lang.Object)">setNewProperty</a></strong>(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> project,
java.lang.String name,
java.lang.Object value)</code>
<div class="block">A helper static method to set a new property
from a particular project.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setNewProperty(java.lang.String, java.lang.Object)">setNewProperty</a></strong>(java.lang.String name,
java.lang.Object value)</code>
<div class="block">Sets a property if no value currently exists.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setNewProperty(java.lang.String, java.lang.String, java.lang.Object)">setNewProperty</a></strong>(java.lang.String ns,
java.lang.String name,
java.lang.Object value)</code>
<div class="block"><strong>Deprecated.</strong>
<div class="block"><i>namespaces are unnecessary.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setNext(org.apache.tools.ant.PropertyHelper)">setNext</a></strong>(<a href="../../../../org/apache/tools/ant/PropertyHelper.html" title="class in org.apache.tools.ant">PropertyHelper</a> next)</code>
<div class="block"><strong>Deprecated.</strong>
<div class="block"><i>use the delegate mechanism instead</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setProject(org.apache.tools.ant.Project)">setProject</a></strong>(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> p)</code>
<div class="block">Set the project for which this helper is performing property resolution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setProperty(org.apache.tools.ant.Project, java.lang.String, java.lang.Object)">setProperty</a></strong>(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> project,
java.lang.String name,
java.lang.Object value)</code>
<div class="block">A helper static method to set a property
from a particular project.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setProperty(java.lang.String, java.lang.Object, boolean)">setProperty</a></strong>(java.lang.String name,
java.lang.Object value,
boolean verbose)</code>
<div class="block">Default implementation of setProperty.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setProperty(java.lang.String, java.lang.String, java.lang.Object, boolean)">setProperty</a></strong>(java.lang.String ns,
java.lang.String name,
java.lang.Object value,
boolean verbose)</code>
<div class="block"><strong>Deprecated.</strong>
<div class="block"><i>namespaces are unnecessary.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setPropertyHook(java.lang.String, java.lang.String, java.lang.Object, boolean, boolean, boolean)">setPropertyHook</a></strong>(java.lang.String ns,
java.lang.String name,
java.lang.Object value,
boolean inherited,
boolean user,
boolean isNew)</code>
<div class="block"><strong>Deprecated.</strong>
<div class="block"><i>PropertyHelper chaining is deprecated.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setUserProperty(java.lang.String, java.lang.Object)">setUserProperty</a></strong>(java.lang.String name,
java.lang.Object value)</code>
<div class="block">Sets a user property, which cannot be overwritten by
set/unset property calls.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#setUserProperty(java.lang.String, java.lang.String, java.lang.Object)">setUserProperty</a></strong>(java.lang.String ns,
java.lang.String name,
java.lang.Object value)</code>
<div class="block"><strong>Deprecated.</strong>
<div class="block"><i>namespaces are unnecessary.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#testIfCondition(java.lang.Object)">testIfCondition</a></strong>(java.lang.Object value)</code>
<div class="block">Returns true if the value is null or an empty string, can be
interpreted as a true value or cannot be interpreted as a false
value and a property of the value's name exists.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#testUnlessCondition(java.lang.Object)">testUnlessCondition</a></strong>(java.lang.Object value)</code>
<div class="block">Returns true if the value is null or an empty string, can be
interpreted as a false value or cannot be interpreted as a true
value and a property of the value's name doesn't exist.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/tools/ant/PropertyHelper.html#toBoolean(java.lang.Object)">toBoolean</a></strong>(java.lang.Object value)</code>
<div class="block">If the given object can be interpreted as a true/false value,
turn it into a matching Boolean - otherwise return null.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="PropertyHelper()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PropertyHelper</h4>
<pre>protected PropertyHelper()</pre>
<div class="block">Default constructor.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getProperty(org.apache.tools.ant.Project, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperty</h4>
<pre>public static java.lang.Object getProperty(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> project,
java.lang.String name)</pre>
<div class="block">A helper static method to get a property
from a particular project.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>project</code> - the project in question.</dd><dd><code>name</code> - the property name</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value of the property if present, null otherwise.</dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd></dl>
</li>
</ul>
<a name="setProperty(org.apache.tools.ant.Project, java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre>public static void setProperty(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> project,
java.lang.String name,
java.lang.Object value)</pre>
<div class="block">A helper static method to set a property
from a particular project.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>project</code> - the project in question.</dd><dd><code>name</code> - the property name</dd><dd><code>value</code> - the value to use.</dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd></dl>
</li>
</ul>
<a name="setNewProperty(org.apache.tools.ant.Project, java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNewProperty</h4>
<pre>public static void setNewProperty(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> project,
java.lang.String name,
java.lang.Object value)</pre>
<div class="block">A helper static method to set a new property
from a particular project.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>project</code> - the project in question.</dd><dd><code>name</code> - the property name</dd><dd><code>value</code> - the value to use.</dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd></dl>
</li>
</ul>
<a name="setProject(org.apache.tools.ant.Project)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProject</h4>
<pre>public void setProject(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> p)</pre>
<div class="block">Set the project for which this helper is performing property resolution.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>p</code> - the project instance.</dd></dl>
</li>
</ul>
<a name="getProject()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProject</h4>
<pre>public <a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> getProject()</pre>
<div class="block">Get this PropertyHelper's Project.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Project</dd></dl>
</li>
</ul>
<a name="setNext(org.apache.tools.ant.PropertyHelper)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNext</h4>
<pre>public void setNext(<a href="../../../../org/apache/tools/ant/PropertyHelper.html" title="class in org.apache.tools.ant">PropertyHelper</a> next)</pre>
<div class="block"><span class="strong">Deprecated.</span> <i>use the delegate mechanism instead</i></div>
<div class="block">Prior to Ant 1.8.0 there have been 2 ways to hook into property handling:
- you can replace the main PropertyHelper. The replacement is required
to support the same semantics (of course :-)
- you can chain a property helper capable of storing some properties.
Again, you are required to respect the immutability semantics (at
least for non-dynamic properties)
<p>As of Ant 1.8.0 this method is never invoked by any code
inside of Ant itself.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>next</code> - the next property helper in the chain.</dd></dl>
</li>
</ul>
<a name="getNext()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNext</h4>
<pre>public <a href="../../../../org/apache/tools/ant/PropertyHelper.html" title="class in org.apache.tools.ant">PropertyHelper</a> getNext()</pre>
<div class="block"><span class="strong">Deprecated.</span> <i>use the delegate mechanism instead</i></div>
<div class="block">Get the next property helper in the chain.
<p>As of Ant 1.8.0 this method is never invoked by any code
inside of Ant itself except the <a href="../../../../org/apache/tools/ant/PropertyHelper.html#setPropertyHook(java.lang.String, java.lang.String, java.lang.Object, boolean, boolean, boolean)"><code>setPropertyHook</code></a> and <a href="../../../../org/apache/tools/ant/PropertyHelper.html#getPropertyHook(java.lang.String, java.lang.String, boolean)"><code>getPropertyHook</code></a>
methods in this class.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the next property helper.</dd></dl>
</li>
</ul>
<a name="getPropertyHelper(org.apache.tools.ant.Project)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPropertyHelper</h4>
<pre>public static <a href="../../../../org/apache/tools/ant/PropertyHelper.html" title="class in org.apache.tools.ant">PropertyHelper</a> getPropertyHelper(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> project)</pre>
<div class="block">Factory method to create a property processor.
Users can provide their own or replace it using "ant.PropertyHelper"
reference. User tasks can also add themselves to the chain, and provide
dynamic properties.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>project</code> - the project for which the property helper is required.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the project's property helper.</dd></dl>
</li>
</ul>
<a name="getExpanders()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpanders</h4>
<pre>public java.util.Collection getExpanders()</pre>
<div class="block">Get the <a href="../../../../org/apache/tools/ant/property/PropertyExpander.html" title="interface in org.apache.tools.ant.property"><code>expanders</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the expanders.</dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd></dl>
</li>
</ul>
<a name="setPropertyHook(java.lang.String, java.lang.String, java.lang.Object, boolean, boolean, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPropertyHook</h4>
<pre>public boolean setPropertyHook(java.lang.String ns,
java.lang.String name,
java.lang.Object value,
boolean inherited,
boolean user,
boolean isNew)</pre>
<div class="block"><span class="strong">Deprecated.</span> <i>PropertyHelper chaining is deprecated.</i></div>
<div class="block">Sets a property. Any existing property of the same name
is overwritten, unless it is a user property.
If all helpers return false, the property will be saved in
the default properties table by setProperty.
<p>As of Ant 1.8.0 this method is never invoked by any code
inside of Ant itself.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ns</code> - The namespace that the property is in (currently
not used.</dd><dd><code>name</code> - The name of property to set.
Must not be <code>null</code>.</dd><dd><code>value</code> - The new value of the property.
Must not be <code>null</code>.</dd><dd><code>inherited</code> - True if this property is inherited (an [sub]ant[call] property).</dd><dd><code>user</code> - True if this property is a user property.</dd><dd><code>isNew</code> - True is this is a new property.</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if this helper has stored the property, false if it
couldn't. Each helper should delegate to the next one (unless it
has a good reason not to).</dd></dl>
</li>
</ul>
<a name="getPropertyHook(java.lang.String, java.lang.String, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPropertyHook</h4>
<pre>public java.lang.Object getPropertyHook(java.lang.String ns,
java.lang.String name,
boolean user)</pre>
<div class="block"><span class="strong">Deprecated.</span> <i>PropertyHelper chaining is deprecated.</i></div>
<div class="block">Get a property. If all hooks return null, the default
tables will be used.
<p>As of Ant 1.8.0 this method is never invoked by any code
inside of Ant itself.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ns</code> - namespace of the sought property.</dd><dd><code>name</code> - name of the sought property.</dd><dd><code>user</code> - True if this is a user property.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The property, if returned by a hook, or null if none.</dd></dl>
</li>
</ul>
<a name="parsePropertyString(java.lang.String, java.util.Vector, java.util.Vector)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parsePropertyString</h4>
<pre>public void parsePropertyString(java.lang.String value,
java.util.Vector fragments,
java.util.Vector propertyRefs)
throws <a href="../../../../org/apache/tools/ant/BuildException.html" title="class in org.apache.tools.ant">BuildException</a></pre>
<div class="block"><span class="strong">Deprecated.</span> <i>use the other mechanisms of this class instead</i></div>
<div class="block">Parses a string containing <code>${xxx}</code> style property
references into two lists. The first list is a collection
of text fragments, while the other is a set of string property names.
<code>null</code> entries in the first list indicate a property
reference from the second list.
<p>Delegates to <a href="../../../../org/apache/tools/ant/PropertyHelper.html#parsePropertyStringDefault(java.lang.String, java.util.Vector, java.util.Vector)"><code>parsePropertyStringDefault</code></a>.</p>
<p>As of Ant 1.8.0 this method is never invoked by any code
inside of Ant itself except {ProjectHelper#parsePropertyString
ProjectHelper.parsePropertyString}.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - Text to parse. Must not be <code>null</code>.</dd><dd><code>fragments</code> - List to add text fragments to.
Must not be <code>null</code>.</dd><dd><code>propertyRefs</code> - List to add property names to.
Must not be <code>null</code>.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/tools/ant/BuildException.html" title="class in org.apache.tools.ant">BuildException</a></code> - if the string contains an opening
<code>${</code> without a closing
<code>}</code></dd></dl>
</li>
</ul>
<a name="replaceProperties(java.lang.String, java.lang.String, java.util.Hashtable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceProperties</h4>
<pre>public java.lang.String replaceProperties(java.lang.String ns,
java.lang.String value,
java.util.Hashtable keys)
throws <a href="../../../../org/apache/tools/ant/BuildException.html" title="class in org.apache.tools.ant">BuildException</a></pre>
<div class="block">Replaces <code>${xxx}</code> style constructions in the given value
with the string value of the corresponding data types.
<p>Delegates to the one-arg version, completely ignoring the ns
and keys parameters.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ns</code> - The namespace for the property.</dd><dd><code>value</code> - The string to be scanned for property references.
May be <code>null</code>, in which case this
method returns immediately with no effect.</dd><dd><code>keys</code> - Mapping (String to String) of property names to their
values. If <code>null</code>, only project properties will
be used.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the original string with the properties replaced, or
<code>null</code> if the original string is <code>null</code>.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/tools/ant/BuildException.html" title="class in org.apache.tools.ant">BuildException</a></code> - if the string contains an opening
<code>${</code> without a closing
<code>}</code></dd></dl>
</li>
</ul>
<a name="replaceProperties(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceProperties</h4>
<pre>public java.lang.String replaceProperties(java.lang.String value)
throws <a href="../../../../org/apache/tools/ant/BuildException.html" title="class in org.apache.tools.ant">BuildException</a></pre>
<div class="block">Replaces <code>${xxx}</code> style constructions in the given value
with the string value of the corresponding data types.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - The string to be scanned for property references.
May be <code>null</code>, in which case this
method returns immediately with no effect.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the original string with the properties replaced, or
<code>null</code> if the original string is <code>null</code>.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/tools/ant/BuildException.html" title="class in org.apache.tools.ant">BuildException</a></code> - if the string contains an opening
<code>${</code> without a closing
<code>}</code></dd></dl>
</li>
</ul>
<a name="parseProperties(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseProperties</h4>
<pre>public java.lang.Object parseProperties(java.lang.String value)
throws <a href="../../../../org/apache/tools/ant/BuildException.html" title="class in org.apache.tools.ant">BuildException</a></pre>
<div class="block">Decode properties from a String representation. If the entire
contents of the String resolve to a single property, that value
is returned. Otherwise a String is returned.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - The string to be scanned for property references.
May be <code>null</code>, in which case this
method returns immediately with no effect.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the original string with the properties replaced, or
<code>null</code> if the original string is <code>null</code>.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/tools/ant/BuildException.html" title="class in org.apache.tools.ant">BuildException</a></code> - if the string contains an opening
<code>${</code> without a closing
<code>}</code></dd></dl>
</li>
</ul>
<a name="containsProperties(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsProperties</h4>
<pre>public boolean containsProperties(java.lang.String value)</pre>
<div class="block">Learn whether a String contains replaceable properties.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - the String to check.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if <code>value</code> contains property notation.</dd></dl>
</li>
</ul>
<a name="setProperty(java.lang.String, java.lang.String, java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre>public boolean setProperty(java.lang.String ns,
java.lang.String name,
java.lang.Object value,
boolean verbose)</pre>
<div class="block"><span class="strong">Deprecated.</span> <i>namespaces are unnecessary.</i></div>
<div class="block">Default implementation of setProperty. Will be called from Project.
This is the original 1.5 implementation, with calls to the hook
added.
<p>Delegates to the three-arg version, completely ignoring the
ns parameter.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ns</code> - The namespace for the property (currently not used).</dd><dd><code>name</code> - The name of the property.</dd><dd><code>value</code> - The value to set the property to.</dd><dd><code>verbose</code> - If this is true output extra log messages.</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if the property is set.</dd></dl>
</li>
</ul>
<a name="setProperty(java.lang.String, java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre>public boolean setProperty(java.lang.String name,
java.lang.Object value,
boolean verbose)</pre>
<div class="block">Default implementation of setProperty. Will be called from Project.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - The name of the property.</dd><dd><code>value</code> - The value to set the property to.</dd><dd><code>verbose</code> - If this is true output extra log messages.</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if the property is set.</dd></dl>
</li>
</ul>
<a name="setNewProperty(java.lang.String, java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNewProperty</h4>
<pre>public void setNewProperty(java.lang.String ns,
java.lang.String name,
java.lang.Object value)</pre>
<div class="block"><span class="strong">Deprecated.</span> <i>namespaces are unnecessary.</i></div>
<div class="block">Sets a property if no value currently exists. If the property
exists already, a message is logged and the method returns with
no other effect.
<p>Delegates to the two-arg version, completely ignoring the
ns parameter.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ns</code> - The namespace for the property (currently not used).</dd><dd><code>name</code> - The name of property to set.
Must not be <code>null</code>.</dd><dd><code>value</code> - The new value of the property.
Must not be <code>null</code>.</dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.6</dd></dl>
</li>
</ul>
<a name="setNewProperty(java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNewProperty</h4>
<pre>public void setNewProperty(java.lang.String name,
java.lang.Object value)</pre>
<div class="block">Sets a property if no value currently exists. If the property
exists already, a message is logged and the method returns with
no other effect.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - The name of property to set.
Must not be <code>null</code>.</dd><dd><code>value</code> - The new value of the property.
Must not be <code>null</code>.</dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd></dl>
</li>
</ul>
<a name="setUserProperty(java.lang.String, java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUserProperty</h4>
<pre>public void setUserProperty(java.lang.String ns,
java.lang.String name,
java.lang.Object value)</pre>
<div class="block"><span class="strong">Deprecated.</span> <i>namespaces are unnecessary.</i></div>
<div class="block">Sets a user property, which cannot be overwritten by
set/unset property calls. Any previous value is overwritten.
<p>Delegates to the two-arg version, completely ignoring the
ns parameter.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ns</code> - The namespace for the property (currently not used).</dd><dd><code>name</code> - The name of property to set.
Must not be <code>null</code>.</dd><dd><code>value</code> - The new value of the property.
Must not be <code>null</code>.</dd></dl>
</li>
</ul>
<a name="setUserProperty(java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUserProperty</h4>
<pre>public void setUserProperty(java.lang.String name,
java.lang.Object value)</pre>
<div class="block">Sets a user property, which cannot be overwritten by
set/unset property calls. Any previous value is overwritten.
<p>Does <code>not</code> consult any delegates.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - The name of property to set.
Must not be <code>null</code>.</dd><dd><code>value</code> - The new value of the property.
Must not be <code>null</code>.</dd></dl>
</li>
</ul>
<a name="setInheritedProperty(java.lang.String, java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInheritedProperty</h4>
<pre>public void setInheritedProperty(java.lang.String ns,
java.lang.String name,
java.lang.Object value)</pre>
<div class="block"><span class="strong">Deprecated.</span> <i>namespaces are unnecessary.</i></div>
<div class="block">Sets an inherited user property, which cannot be overwritten by set/unset
property calls. Any previous value is overwritten. Also marks
these properties as properties that have not come from the
command line.
<p>Delegates to the two-arg version, completely ignoring the
ns parameter.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ns</code> - The namespace for the property (currently not used).</dd><dd><code>name</code> - The name of property to set.
Must not be <code>null</code>.</dd><dd><code>value</code> - The new value of the property.
Must not be <code>null</code>.</dd></dl>
</li>
</ul>
<a name="setInheritedProperty(java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInheritedProperty</h4>
<pre>public void setInheritedProperty(java.lang.String name,
java.lang.Object value)</pre>
<div class="block">Sets an inherited user property, which cannot be overwritten by set/unset
property calls. Any previous value is overwritten. Also marks
these properties as properties that have not come from the
command line.
<p>Does <code>not</code> consult any delegates.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - The name of property to set.
Must not be <code>null</code>.</dd><dd><code>value</code> - The new value of the property.
Must not be <code>null</code>.</dd></dl>
</li>
</ul>
<a name="getProperty(java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperty</h4>
<pre>public java.lang.Object getProperty(java.lang.String ns,
java.lang.String name)</pre>
<div class="block"><span class="strong">Deprecated.</span> <i>namespaces are unnecessary.</i></div>
<div class="block">Returns the value of a property, if it is set. You can override
this method in order to plug your own storage.
<p>Delegates to the one-arg version ignoring the ns parameter.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ns</code> - The namespace for the property (currently not used).</dd><dd><code>name</code> - The name of the property.
May be <code>null</code>, in which case
the return value is also <code>null</code>.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the property value, or <code>null</code> for no match
or if a <code>null</code> name is provided.</dd></dl>
</li>
</ul>
<a name="getProperty(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperty</h4>
<pre>public java.lang.Object getProperty(java.lang.String name)</pre>
<div class="block">Returns the value of a property, if it is set.
<p>This is the method that is invoked by {Project#getProperty
Project.getProperty}.</p>
<p>You can override this method in order to plug your own
storage but the recommended approach is to add your own
implementation of <a href="../../../../org/apache/tools/ant/PropertyHelper.PropertyEvaluator.html" title="interface in org.apache.tools.ant"><code>PropertyEvaluator</code></a>
instead.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/tools/ant/property/GetProperty.html#getProperty(java.lang.String)">getProperty</a></code> in interface <code><a href="../../../../org/apache/tools/ant/property/GetProperty.html" title="interface in org.apache.tools.ant.property">GetProperty</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - The name of the property.
May be <code>null</code>, in which case
the return value is also <code>null</code>.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the property value, or <code>null</code> for no match
or if a <code>null</code> name is provided.</dd></dl>
</li>
</ul>
<a name="getUserProperty(java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUserProperty</h4>
<pre>public java.lang.Object getUserProperty(java.lang.String ns,
java.lang.String name)</pre>
<div class="block"><span class="strong">Deprecated.</span> <i>namespaces are unnecessary.</i></div>
<div class="block">Returns the value of a user property, if it is set.
<p>Delegates to the one-arg version ignoring the ns parameter.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ns</code> - The namespace for the property (currently not used).</dd><dd><code>name</code> - The name of the property.
May be <code>null</code>, in which case
the return value is also <code>null</code>.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the property value, or <code>null</code> for no match
or if a <code>null</code> name is provided.</dd></dl>
</li>
</ul>
<a name="getUserProperty(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUserProperty</h4>
<pre>public java.lang.Object getUserProperty(java.lang.String name)</pre>
<div class="block">Returns the value of a user property, if it is set.
<p>Does <code>not</code> consult any delegates.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - The name of the property.
May be <code>null</code>, in which case
the return value is also <code>null</code>.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the property value, or <code>null</code> for no match
or if a <code>null</code> name is provided.</dd></dl>
</li>
</ul>
<a name="getProperties()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperties</h4>
<pre>public java.util.Hashtable getProperties()</pre>
<div class="block">Returns a copy of the properties table.
<p>Does not contain properties held by implementations of
delegates (like local properties).</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a hashtable containing all properties (including user properties).</dd></dl>
</li>
</ul>
<a name="getUserProperties()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUserProperties</h4>
<pre>public java.util.Hashtable getUserProperties()</pre>
<div class="block">Returns a copy of the user property hashtable
<p>Does not contain properties held by implementations of
delegates (like local properties).</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a hashtable containing just the user properties</dd></dl>
</li>
</ul>
<a name="getInheritedProperties()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInheritedProperties</h4>
<pre>public java.util.Hashtable getInheritedProperties()</pre>
<div class="block">Returns a copy of the inherited property hashtable
<p>Does not contain properties held by implementations of
delegates (like local properties).</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a hashtable containing just the inherited properties</dd></dl>
</li>
</ul>
<a name="getInternalProperties()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInternalProperties</h4>
<pre>protected java.util.Hashtable getInternalProperties()</pre>
<div class="block">special back door for subclasses, internal access to the hashtables</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the live hashtable of all properties</dd></dl>
</li>
</ul>
<a name="getInternalUserProperties()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInternalUserProperties</h4>
<pre>protected java.util.Hashtable getInternalUserProperties()</pre>
<div class="block">special back door for subclasses, internal access to the hashtables</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the live hashtable of user properties</dd></dl>
</li>
</ul>
<a name="getInternalInheritedProperties()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInternalInheritedProperties</h4>
<pre>protected java.util.Hashtable getInternalInheritedProperties()</pre>
<div class="block">special back door for subclasses, internal access to the hashtables</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the live hashtable inherited properties</dd></dl>
</li>
</ul>
<a name="copyInheritedProperties(org.apache.tools.ant.Project)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyInheritedProperties</h4>
<pre>public void copyInheritedProperties(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> other)</pre>
<div class="block">Copies all user properties that have not been set on the
command line or a GUI tool from this instance to the Project
instance given as the argument.
<p>To copy all "user" properties, you will also have to call
<a href="../../../../org/apache/tools/ant/PropertyHelper.html#copyUserProperties(org.apache.tools.ant.Project)"><code>copyUserProperties</code></a>.</p>
<p>Does not copy properties held by implementations of
delegates (like local properties).</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>other</code> - the project to copy the properties to. Must not be null.</dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.6</dd></dl>
</li>
</ul>
<a name="copyUserProperties(org.apache.tools.ant.Project)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyUserProperties</h4>
<pre>public void copyUserProperties(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a> other)</pre>
<div class="block">Copies all user properties that have been set on the command
line or a GUI tool from this instance to the Project instance
given as the argument.
<p>To copy all "user" properties, you will also have to call
<a href="../../../../org/apache/tools/ant/PropertyHelper.html#copyInheritedProperties(org.apache.tools.ant.Project)"><code>copyInheritedProperties</code></a>.</p>
<p>Does not copy properties held by implementations of
delegates (like local properties).</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>other</code> - the project to copy the properties to. Must not be null.</dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.6</dd></dl>
</li>
</ul>
<a name="add(org.apache.tools.ant.PropertyHelper.Delegate)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public void add(<a href="../../../../org/apache/tools/ant/PropertyHelper.Delegate.html" title="interface in org.apache.tools.ant">PropertyHelper.Delegate</a> delegate)</pre>
<div class="block">Add the specified delegate object to this PropertyHelper.
Delegates are processed in LIFO order.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>delegate</code> - the delegate to add.</dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd></dl>
</li>
</ul>
<a name="getDelegates(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDelegates</h4>
<pre>protected java.util.List getDelegates(java.lang.Class type)</pre>
<div class="block">Get the Collection of delegates of the specified type.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>type</code> - delegate type.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Collection.</dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd></dl>
</li>
</ul>
<a name="getDelegateInterfaces(org.apache.tools.ant.PropertyHelper.Delegate)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDelegateInterfaces</h4>
<pre>protected static java.util.Set getDelegateInterfaces(<a href="../../../../org/apache/tools/ant/PropertyHelper.Delegate.html" title="interface in org.apache.tools.ant">PropertyHelper.Delegate</a> d)</pre>
<div class="block">Get all Delegate interfaces (excluding Delegate itself) from the specified Delegate.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>d</code> - the Delegate to inspect.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Set<Class></dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd></dl>
</li>
</ul>
<a name="toBoolean(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toBoolean</h4>
<pre>public static java.lang.Boolean toBoolean(java.lang.Object value)</pre>
<div class="block">If the given object can be interpreted as a true/false value,
turn it into a matching Boolean - otherwise return null.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd></dl>
</li>
</ul>
<a name="testIfCondition(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIfCondition</h4>
<pre>public boolean testIfCondition(java.lang.Object value)</pre>
<div class="block">Returns true if the value is null or an empty string, can be
interpreted as a true value or cannot be interpreted as a false
value and a property of the value's name exists.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd></dl>
</li>
</ul>
<a name="testUnlessCondition(java.lang.Object)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>testUnlessCondition</h4>
<pre>public boolean testUnlessCondition(java.lang.Object value)</pre>
<div class="block">Returns true if the value is null or an empty string, can be
interpreted as a false value or cannot be interpreted as a true
value and a property of the value's name doesn't exist.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/tools/ant/ProjectHelperRepository.html" title="class in org.apache.tools.ant"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/tools/ant/PropertyHelper.Delegate.html" title="interface in org.apache.tools.ant"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/tools/ant/PropertyHelper.html" target="_top">Frames</a></li>
<li><a href="PropertyHelper.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li><a href="#nested_class_summary">Nested</a> | </li>
<li>Field | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>