Ant 1.8.0 以降
このタスクは、ユーザーが (a) 実行時に別の PropertyHelper をインストールできるようにしたり、(b) (より頻繁に) 1 つ以上の PropertyHelper Delegate を現在の Project でアクティブな PropertyHelper にインストールできるようにすることを目的として提供されます。これは Apache Ant の高度な使い方で、最新の Ant API によく精通していることが前提にあります。詳細については、Ant の Property Helper の説明を参照してください。
完全に構成された org.apache.tools.ant.PropertyHelper インスタンスを 1 つだけ指定できます。
新しい PropertyHelper と組み合わせる場合でも、組み合わせていない場合でも、org.apache.tools.ant.PropertyHelper.Delegate インターフェースの構成済み実装を 1 つ以上指定できます。ただし、Delegate はマーカーインターフェースであるため、ここでは API に関する詳しい理解が必要になります。何らかの意味のあることを行うには、ネストされた引数は Delegate サブインターフェースを実装しなければなりません。
プロジェクト参照を使用できる汎用的な <delegate> 要素も提供されます
| 属性 | 説明 | 必須 |
|---|---|---|
| refid | インストールする PropertyHelper.Delegate の id。 |
はい |
完全に異なる PropertyHelper 実装をインストールします (MyPropertyHelper が PropertyHelper を拡張する場合)
<componentdef classname="org.example.MyPropertyHelper"
name="mypropertyhelper"/>
<propertyhelper>
<mypropertyhelper/>
</propertyhelper>
新しい PropertyEvaluator デリゲートを追加します (MyPropertyEvaluator が PropertyHelper.PropertyEvaluator を実装する場合)。PropertyHelper は LIFO の順番で構成されたデリゲートを使用することに注意してください。つまり、このタスクによって追加されたデリゲートは、以前に定義されたデリゲートよりも先、特に組み込みのデリゲートよりも先に参照されます。
<componentdef classname="org.example.MyPropertyEvaluator"
name="mypropertyevaluator"/>
<propertyhelper>
<mypropertyevaluator/>
</propertyhelper>
refid構文を使用して新しい PropertyEvaluator デリゲートを追加します
<typedef classname="org.example.MyPropertyEvaluator"
name="mypropertyevaluator"/>
<mypropertyevaluator id="evaluator"/>
<propertyhelper>
<delegate refid="evaluator"/>
</propertyhelper>