PropertyHelper

Ant 1.8.0 以降

説明

このタスクは、ユーザーが (a) 実行時に別の PropertyHelper をインストールできるようにしたり、(b) (より頻繁に) 1 つ以上の PropertyHelper Delegate を現在の Project でアクティブな PropertyHelper にインストールできるようにすることを目的として提供されます。これは Apache Ant の高度な使い方で、最新の Ant API によく精通していることが前提にあります。詳細については、Ant の Property Helper の説明を参照してください。

ネストされた要素として指定されたパラメーター

PropertyHelper

完全に構成された org.apache.tools.ant.PropertyHelper インスタンスを 1 つだけ指定できます。

PropertyHelper.Delegate

新しい PropertyHelper と組み合わせる場合でも、組み合わせていない場合でも、org.apache.tools.ant.PropertyHelper.Delegate インターフェースの構成済み実装を 1 つ以上指定できます。ただし、Delegate はマーカーインターフェースであるため、ここでは API に関する詳しい理解が必要になります。何らかの意味のあることを行うには、ネストされた引数は Delegate サブインターフェースを実装しなければなりません。

デリゲート

プロジェクト参照を使用できる汎用的な <delegate> 要素も提供されます

パラメーター
属性 説明 必須
refid インストールする PropertyHelper.Delegateid はい

完全に異なる 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>