????

Your IP : 216.73.216.152


Current Path : /opt/ant/manual/api/org/apache/tools/ant/
Upload File :
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:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</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">&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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">&nbsp;</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">&nbsp;</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>&nbsp;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&nbsp;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>&nbsp;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>&nbsp;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>&nbsp;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&nbsp;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>&nbsp;
<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>&nbsp;project,
           java.lang.String&nbsp;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&nbsp;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&nbsp;ns,
           java.lang.String&nbsp;name)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<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>&nbsp;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&nbsp;ns,
               java.lang.String&nbsp;name,
               boolean&nbsp;user)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<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&nbsp;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&nbsp;ns,
               java.lang.String&nbsp;name)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<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&nbsp;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&nbsp;value,
                   java.util.Vector&nbsp;fragments,
                   java.util.Vector&nbsp;propertyRefs)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<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&nbsp;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&nbsp;ns,
                 java.lang.String&nbsp;value,
                 java.util.Hashtable&nbsp;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&nbsp;name,
                    java.lang.Object&nbsp;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&nbsp;ns,
                    java.lang.String&nbsp;name,
                    java.lang.Object&nbsp;value)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<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>&nbsp;project,
              java.lang.String&nbsp;name,
              java.lang.Object&nbsp;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&nbsp;name,
              java.lang.Object&nbsp;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&nbsp;ns,
              java.lang.String&nbsp;name,
              java.lang.Object&nbsp;value)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<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>&nbsp;next)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<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>&nbsp;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>&nbsp;project,
           java.lang.String&nbsp;name,
           java.lang.Object&nbsp;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&nbsp;name,
           java.lang.Object&nbsp;value,
           boolean&nbsp;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&nbsp;ns,
           java.lang.String&nbsp;name,
           java.lang.Object&nbsp;value,
           boolean&nbsp;verbose)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<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&nbsp;ns,
               java.lang.String&nbsp;name,
               java.lang.Object&nbsp;value,
               boolean&nbsp;inherited,
               boolean&nbsp;user,
               boolean&nbsp;isNew)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<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&nbsp;name,
               java.lang.Object&nbsp;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&nbsp;ns,
               java.lang.String&nbsp;name,
               java.lang.Object&nbsp;value)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;java.lang.Object&nbsp;getProperty(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a>&nbsp;project,
                           java.lang.String&nbsp;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&nbsp;void&nbsp;setProperty(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a>&nbsp;project,
               java.lang.String&nbsp;name,
               java.lang.Object&nbsp;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&nbsp;void&nbsp;setNewProperty(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a>&nbsp;project,
                  java.lang.String&nbsp;name,
                  java.lang.Object&nbsp;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&nbsp;void&nbsp;setProject(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a>&nbsp;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&nbsp;<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a>&nbsp;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&nbsp;void&nbsp;setNext(<a href="../../../../org/apache/tools/ant/PropertyHelper.html" title="class in org.apache.tools.ant">PropertyHelper</a>&nbsp;next)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<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&nbsp;<a href="../../../../org/apache/tools/ant/PropertyHelper.html" title="class in org.apache.tools.ant">PropertyHelper</a>&nbsp;getNext()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<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&nbsp;<a href="../../../../org/apache/tools/ant/PropertyHelper.html" title="class in org.apache.tools.ant">PropertyHelper</a>&nbsp;getPropertyHelper(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a>&nbsp;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&nbsp;java.util.Collection&nbsp;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&nbsp;boolean&nbsp;setPropertyHook(java.lang.String&nbsp;ns,
                      java.lang.String&nbsp;name,
                      java.lang.Object&nbsp;value,
                      boolean&nbsp;inherited,
                      boolean&nbsp;user,
                      boolean&nbsp;isNew)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<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&nbsp;java.lang.Object&nbsp;getPropertyHook(java.lang.String&nbsp;ns,
                               java.lang.String&nbsp;name,
                               boolean&nbsp;user)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<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&nbsp;void&nbsp;parsePropertyString(java.lang.String&nbsp;value,
                       java.util.Vector&nbsp;fragments,
                       java.util.Vector&nbsp;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>&nbsp;<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&nbsp;java.lang.String&nbsp;replaceProperties(java.lang.String&nbsp;ns,
                                 java.lang.String&nbsp;value,
                                 java.util.Hashtable&nbsp;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&nbsp;java.lang.String&nbsp;replaceProperties(java.lang.String&nbsp;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&nbsp;java.lang.Object&nbsp;parseProperties(java.lang.String&nbsp;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&nbsp;boolean&nbsp;containsProperties(java.lang.String&nbsp;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&nbsp;boolean&nbsp;setProperty(java.lang.String&nbsp;ns,
                  java.lang.String&nbsp;name,
                  java.lang.Object&nbsp;value,
                  boolean&nbsp;verbose)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<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&nbsp;boolean&nbsp;setProperty(java.lang.String&nbsp;name,
                  java.lang.Object&nbsp;value,
                  boolean&nbsp;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&nbsp;void&nbsp;setNewProperty(java.lang.String&nbsp;ns,
                  java.lang.String&nbsp;name,
                  java.lang.Object&nbsp;value)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<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&nbsp;void&nbsp;setNewProperty(java.lang.String&nbsp;name,
                  java.lang.Object&nbsp;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&nbsp;void&nbsp;setUserProperty(java.lang.String&nbsp;ns,
                   java.lang.String&nbsp;name,
                   java.lang.Object&nbsp;value)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<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&nbsp;void&nbsp;setUserProperty(java.lang.String&nbsp;name,
                   java.lang.Object&nbsp;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&nbsp;void&nbsp;setInheritedProperty(java.lang.String&nbsp;ns,
                        java.lang.String&nbsp;name,
                        java.lang.Object&nbsp;value)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<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&nbsp;void&nbsp;setInheritedProperty(java.lang.String&nbsp;name,
                        java.lang.Object&nbsp;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&nbsp;java.lang.Object&nbsp;getProperty(java.lang.String&nbsp;ns,
                           java.lang.String&nbsp;name)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<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&nbsp;java.lang.Object&nbsp;getProperty(java.lang.String&nbsp;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>&nbsp;in interface&nbsp;<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&nbsp;java.lang.Object&nbsp;getUserProperty(java.lang.String&nbsp;ns,
                               java.lang.String&nbsp;name)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<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&nbsp;java.lang.Object&nbsp;getUserProperty(java.lang.String&nbsp;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&nbsp;java.util.Hashtable&nbsp;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&nbsp;java.util.Hashtable&nbsp;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&nbsp;java.util.Hashtable&nbsp;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&nbsp;java.util.Hashtable&nbsp;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&nbsp;java.util.Hashtable&nbsp;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&nbsp;java.util.Hashtable&nbsp;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&nbsp;void&nbsp;copyInheritedProperties(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a>&nbsp;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&nbsp;void&nbsp;copyUserProperties(<a href="../../../../org/apache/tools/ant/Project.html" title="class in org.apache.tools.ant">Project</a>&nbsp;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&nbsp;void&nbsp;add(<a href="../../../../org/apache/tools/ant/PropertyHelper.Delegate.html" title="interface in org.apache.tools.ant">PropertyHelper.Delegate</a>&nbsp;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&nbsp;java.util.List&nbsp;getDelegates(java.lang.Class&nbsp;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&nbsp;java.util.Set&nbsp;getDelegateInterfaces(<a href="../../../../org/apache/tools/ant/PropertyHelper.Delegate.html" title="interface in org.apache.tools.ant">PropertyHelper.Delegate</a>&nbsp;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&nbsp;java.lang.Boolean&nbsp;toBoolean(java.lang.Object&nbsp;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&nbsp;boolean&nbsp;testIfCondition(java.lang.Object&nbsp;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&nbsp;boolean&nbsp;testUnlessCondition(java.lang.Object&nbsp;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:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>