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>