<!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.util.regex.Pattern
i powinny być określane jako łańcuchy (np.: "Pattern.MULTILINE" lub "MULTILINE").regex
danej funkcji nasłuchiwania dopasowywania wzorca. Po znalezieniu wiersza
zawierającego to wyrażenie od początku wiersza wyszukiwane jest kompletne
wyrażenie regex
tego wzorca dopasowania. Używanie tego atrybutu
jest opcjonalne, ale może znacznie poprawić wydajność, ponieważ wiersze
niezawierające tego wyrażenia są eliminowane z procesu wyszukiwania. Od wersji 3.2 w przypadku tego atrybutu obsługiwane jest podstawianie zmiennych.<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Ogólny element główny. Element ten może być stosowany w ramach punktu rozszerzenia do zdefiniowania jego wyrażenia włączającego. Elementy potomne wyrażenia włączającego łączy się za pomocą operatora and
.
<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>
Element ten odpowiada operacji NOT wykonywanej na wynikach wartościowania wyrażenia podelementu.
<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Element ten odpowiada operacji AND wykonywanej na wynikach wartościowania wszystkich wyrażeń podelementów.
<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Element ten odpowiada operacji OR wykonywanej na wynikach wartościowania wszystkich wyrażeń podelementów.
<!ELEMENT instanceof EMPTY>
<!ATTLIST instanceof
value CDATA #REQUIRED>
Element ten służy do wykonywania sprawdzenia instanceof
obiektu aktywnego. Wyrażenie zwraca wartość EvaluationResult.TRUE
, jeśli typ obiektu jest podtypem typu określonego atrybutem value
. W przeciwnym razie zwracana jest wartość EvaluationResult.FALSE
.
<!ELEMENT test EMPTY>
<!ATTLIST test
property CDATA #REQUIRED
args CDATA #IMPLIED
value CDATA #IMPLIED>
Element ten służy do wartościowania stanu właściwości obiektu aktywnego. Zbiór właściwości objętych testowaniem można rozszerzyć za pomocą punktu rozszerzenia testera właściwości. Wyrażenie testowe zwraca wartość EvaluationResult.NOT_LOADED
, jeśli nie załadowano jeszcze testera właściwości wykonującego faktyczne testowanie.
value
wyrażenia testowego.EvaluationResult.TRUE
, jeśli właściwość odpowiada danej wartości. W przeciwnym razie oczekiwana jest wartość EvaluationResult.FALSE
. Atrybut value
jest przekształcany w typ podstawowy języka Java zgodnie z następującymi regułami:
Boolean.TRUE
.Boolean.FALSE
.Float
. W przypadku niepowodzenia łańcuch jest traktowany jako klasa java.lang.String
.Integer
.Boolean
, Float
lub Integer
można zablokować, umieszczając łańcuch w pojedynczym cudzysłowie. Przykładowo atrybut value="'true'" jest przekształcany w łańcuch "true".<!ELEMENT systemTest EMPTY>
<!ATTLIST systemTest
property CDATA #REQUIRED
value CDATA #REQUIRED>
Testuje właściwość systemową, wywołując metodę System.getProperty
i porównując wynik z wartością określoną za pomocą atrybutu value
.
<!ELEMENT equals EMPTY>
<!ATTLIST equals
value CDATA #REQUIRED>
Element ten służy do wykonywania sprawdzenia equals
obiektu aktywnego. Wyrażenie zwraca wartość EvaluationResult.TRUE
, jeśli obiekt jest równy wartości określonej atrybutem value
. W przeciwnym razie zwracana jest wartość EvaluationResult.FALSE
.
equals
. Wartość podana jako łańcuch jest przekształcana w typ podstawowy języka Java zgodnie z regułami, które zdefiniowano w odniesieniu do atrybutu value
wyrażenia testowego.<!ELEMENT count EMPTY>
<!ATTLIST count
value CDATA #REQUIRED>
Element ten służy do sprawdzania liczby elementów w ramach kolekcji.
<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST with
variable CDATA #REQUIRED>
Element ten zamienia obiekt, który ma być sprawdzany w odniesieniu do wszystkich elementów potomnych, na obiekt, do którego odwołuje się dana zmienna. Jeśli zmiennej nie można zinterpretować, podczas wartościowania wyrażenie zgłasza wyjątek ExpressionException
. Elementy potomne wyrażenia with
łączy się za pomocą operatora and
.
<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST resolve
variable CDATA #REQUIRED
args CDATA #IMPLIED>
Element ten zamienia obiekt, który ma być sprawdzany w odniesieniu do wszystkich elementów potomnych, na obiekt, do którego odwołuje się dana zmienna. Jeśli zmiennej nie można zinterpretować, podczas wartościowania wyrażenie zgłasza wyjątek ExpressionException
. Elementy potomne wyrażenia with
łączy się za pomocą operatora and
.
IVariableResolver
) za pośrednictwem kontekstu oceny przekazywanego do elementu głównego wyrażenia w trakcie oceny tego wyrażenia.value
wyrażenia testowego.<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST adapt
type CDATA #REQUIRED>
Element ten służy do dostosowywania obiektu aktywnego do typu określonego atrybutem type
. Wyrażenie zwraca wartość not loaded
, jeśli nie załadowano jeszcze adaptera lub typu, którego dotyczy odwołanie. Jeśli nazwa typu w ogóle nie istnieje, podczas wartościowania zgłaszany jest wyjątek ExpressionException
. Elementy potomne wyrażenia adapt
łączy się za pomocą operatora and
.
<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST iterate
operator (or|and) >
Element ten służy do iteracji zmiennej typu java.util.Collection
. Jeśli obiekt aktywny nie jest obiektem typu java.util.Collection
, podczas wartościowania wyrażenia zgłaszany jest wyjątek ExpressionException
.
and
lub or
. Operator określa, w jaki sposób mają być łączone elementy potomne. Jeśli nie została podana żadna wartość, stosowany jest operator and
.W powyższym przykładzie wniesiony przez kontrybutora wzorzec dopasowywania konsoli będzie używany dla konsoli typu 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>
class
musi być pełną nazwą klasy Java implementującej interfejs org.eclipse.ui.console.IPatternMatchListenerDelegate
.
IConsole.getType()
.
Identyfikatorem testera właściwości jest org.eclipse.ui.console.consoleTypeTest
.
Copyright (c) 2000, 2005 IBM Corporation i inne podmioty.
Wszelkie prawa zastrzeżone. Program ten oraz towarzyszące mu materiały są udostępniane na warunkach licencji EPL (Eclipse Public License), wersja 1.0, dołączonej do nich i dostępnej pod adresem http://www.eclipse.org/legal/epl-v10.html.