PropertyHelper

自 Ant 1.8.0 起

說明

提供此任務,目的是允許使用者(a) 在執行期間安裝不同的 PropertyHelper,或(b) (希望更常使用) 將一個或多個 PropertyHelper 委派安裝到目前 Project 上作用中的 PropertyHelper。這是進階的 Apache Ant 用法,並假設使用者熟悉現代 Ant API。請參閱 Ant 的 Property Helper 說明,以取得更多資訊。

以巢狀元素指定參數

PropertyHelper

您可以指定一個已設定的 org.apache.tools.ant.PropertyHelper 實例。

PropertyHelper.Delegate

您可以指定一個或多個 org.apache.tools.ant.PropertyHelper.Delegate 介面的已設定實作,無論是否與新的 PropertyHelper 結合使用。不過,在此需要更深入了解 API,因為 Delegate 僅為標記介面:巢狀引數必須實作 Delegate 子介面,才能執行任何有意義的動作。

delegate

也提供一個通用 <delegate> 元素,可使用專案參考

參數
屬性 說明 必要
refid 要安裝的 PropertyHelper.Delegateid

範例

安裝完全不同的 PropertyHelper 實作 (假設 MyPropertyHelper extends PropertyHelper)

<componentdef classname="org.example.MyPropertyHelper"
              name="mypropertyhelper"/>
<propertyhelper>
  <mypropertyhelper/>
</propertyhelper>

新增一個新的 PropertyEvaluator 委派 (假設 MyPropertyEvaluator implements 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>