<!ELEMENT extension (consolePatternMatchListener*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT consolePatternMatchListener (enablement)>
<!ATTLIST consolePatternMatchListener
id CDATA #REQUIRED
class CDATA #REQUIRED
regex CDATA #REQUIRED
flags CDATA #IMPLIED
qualifier CDATA #IMPLIED>
IPatternMatchListenerDelegate
的 Java 類別之完整名稱。java.util.regex.Pattern
,且應指定為 Strings(例如,"Pattern.MULTILINE" 或 "MULTILINE")regex
行的簡式正規表示式。當找到一個包含此表示式的行時,會從行的開頭執行搜尋此型樣相符器的完整 regex
。此屬性的使用是選用性的,但可以大大改進效能,因為不會對不包含此表示式的行進行搜尋。從 3.2 開始,這個屬性支援字串變數替代。<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
一般的根元素。這個元素可用於延伸點內定義其 enablement 表示式。enablement 表示式的子項是使用 and 運算子來組合。
<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>
這個元素代表對其子元素表示式的求值結果執行的 NOT 運算。
<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
這個元素代表對其所有子元素表示式的求值結果執行的 AND 運算。
<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
這個元素代表對其所有子元素表示式的求值結果執行的 OR 運算。
<!ELEMENT instanceof EMPTY>
<!ATTLIST instanceof
value CDATA #REQUIRED>
這個元素是用來執行焦點物件的 instanceof 檢查。如果物件類型是屬性值指定的類型的子類型, 則這個表示式傳回 EvaluationResult.TRUE。否則傳回 EvaluationResult.FALSE。
<!ELEMENT test EMPTY>
<!ATTLIST test
property CDATA #REQUIRED
args CDATA #IMPLIED
value CDATA #IMPLIED>
這個元素是用來評估焦點物件的內容狀態。testable 內容集可使用內容測試程式延伸點加以延伸。如果尚未載入要執行實際測試的內容測試程式, 則 test 表示式傳回 EvaluationResult.NOT_LOADED。
<!ELEMENT systemTest EMPTY>
<!ATTLIST systemTest
property CDATA #REQUIRED
value CDATA #REQUIRED>
呼叫 System.getProperty 方法來測試系統內容,並比較其結果與透過 value 屬性指定的值。
<!ELEMENT equals EMPTY>
<!ATTLIST equals
value CDATA #REQUIRED>
這個元素是用來執行焦點物件的相等檢查。如果物件等於屬性值提供的值, 則表示式傳回 EvaluationResult.TRUE。否則傳回 EvaluationResult.FALSE。
<!ELEMENT count EMPTY>
<!ATTLIST count
value CDATA #REQUIRED>
這個元素是用來測試集合中的元素數目。
<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST with
variable CDATA #REQUIRED>
這個元素將要視察其所有子元素的物件變更為給定的變數所參照的物件。如果無法解析變數,則表示式在求值時會擲出 ExpressionException。with 表示式的子項是使用 and 運算子來組合。
<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST resolve
variable CDATA #REQUIRED
args CDATA #IMPLIED>
這個元素將要視察其所有子元素的物件變更為給定的變數所參照的物件。如果無法解析變數,則表示式在求值時會擲出 ExpressionException。with 表示式的子項是使用 and 運算子來組合。
<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST adapt
type CDATA #REQUIRED>
這個元素是用來調整焦點物件,使它成為屬性類型指定的類型。如果配接器或參照的類型尚未載入,則表示式傳回未載入。如果類型名稱根本不存在,它會在評估期間擲出 ExpressionException。adapt 表示式的子項是使用 and 運算子來組合。
<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST iterate
operator (or|and) >
這個元素是用於 java.util.Collection 類型變數的疊代。如果焦點物件不是 java.util.Collection 類型, 則在評估表示式時,將擲出 ExpressionException。
在以上的範例中,提供的主控台型樣媒合器將會用於類型為 "exampleConsole" 的主控台。<extension point=
"org.eclipse.ui.console.consolePatternMatchListener"
>
<consolePatternMatchListener class=
"com.example.ExampleConsolePatternMatcher"
id=
"com.example.ExampleConsolePatternMatcher"
regex=
".*foo.*"
>
<enablement>
<test property=
"org.eclipse.ui.console.consoleTypeTest"
value=
"exampleConsole"
/>
</enablement>
</consolePatternMatchListener>
</extension>
IConsole.getType()
值的啟用表示式提供了一個主控台類型內容測試程式。內容測試程式的 ID 為 org.eclipse.ui.console.consoleTypeTest
。
Copyright (c) 2000, 2005 IBM Corporation and others.
All
rights reserved. 本程式與隨附的資料依照 Elipse Public License 1.0 版此次發行所隨附的條款而提供,
可以在以下網址取得:http://www.eclipse.org/legal/epl-v10.html