This task is provided for the purpose of allowing the user to (a) install a different PropertyHelper at runtime, or (b) (hopefully more often) install one or more PropertyHelper Delegates into the PropertyHelper active on the current Project. This is somewhat advanced Apache Ant usage and assumes a working familiarity with the modern Ant APIs. See the description of Ant's Property Helper for more information. Since Ant 1.8.0
org.apache.tools.ant.PropertyHelper instance.
PropertyHelper or not, one or
more configured implementations of the org.apache.tools.ant.PropertyHelper.Delegate
interface. A deeper understanding of the API is required here, however, as Delegate
is a marker interface only: the nested arguments must implement a Delegate
subinterface in order to do anything meaningful.
A generic <delegate> element which can use project references is also provided:
| Attribute | Description | Required | 
| refid | The id of a PropertyHelper.Delegateto install. | Yes | 
Install a completely different PropertyHelper implementation
  (assuming MyPropertyHelper extends PropertyHelper):
<componentdef classname="org.example.MyPropertyHelper"
              name="mypropertyhelper"/>
<propertyhelper>
  <mypropertyhelper/>
</propertyhelper>
Add a new PropertyEvaluator delegate
  (assuming MyPropertyEvaluator implements
  PropertyHelper.PropertyEvaluator).  Note that PropertyHelper
  uses the configured delegates in LIFO order.  I.e. the delegate
  added by this task will be consulted before any previously defined
  delegate and in particular before the built-in ones.
<componentdef classname="org.example.MyPropertyEvaluator"
              name="mypropertyevaluator"/>
<propertyhelper>
  <mypropertyevaluator/>
</propertyhelper>
Add a new PropertyEvaluator delegate using the refid syntax:
<typedef classname="org.example.MyPropertyEvaluator"
         name="mypropertyevaluator"/>
<mypropertyevaluator id="evaluator"/>
<propertyhelper>
  <delegate refid="evaluator"/>
</propertyhelper>