handledMarkerTypes od wersji 3.2.
Od wersji 3.2 rozszerzenie może określić, które typy znaczników problemów jest w stanie obsługiwać. Tylko problemy tych typów są pobierane przez to rozszerzenie do przetwarzania. Jeśli nie są określone żadne obsługiwane typy znaczników, procesor będzie pobierać tylko problemy z typów org.eclipse.wst.jsdt.core.problem, org.eclipse.wst.jsdt.core.buildpath_problem i org.eclipse.wst.jsdt.core.task (jest to kompatybilne z zachowaniem wersji wcześniejszych niż 3.2).
Ten punkt rozszerzenia obsługuje znacznik enablement. Właściwości do testowania są następujące:
<!ELEMENT extension (quickFixProcessor+)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
><!ELEMENT quickFixProcessor (enablement? , handledMarkerTypes*)>
<!ATTLIST quickFixProcessor
id CDATA #REQUIRED
name CDATA #IMPLIED
class CDATA #REQUIRED
requiredSourceLevel CDATA #IMPLIED
><!ELEMENT handledMarkerTypes (markerType+)>
Określa typy znaczników problemów, które ten procesor szybkiej poprawki jest w stanie obsługiwać. Jeśli nie są określone żadne obsługiwane typy znaczników, procesor będzie pobierać problemy z typów org.eclipse.wst.jsdt.core.problem, org.eclipse.wst.jsdt.core.buildpath_problem i org.eclipse.wst.jsdt.core.task.
<!ELEMENT markerType EMPTY>
<!ATTLIST markerType
id CDATA #REQUIRED
><!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>
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 enablement są łączone za pomocą operatora and.
<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate | reference)>
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 , reference)*>
Element ten odpowiada operacji AND wykonywanej na wynikach wartościowania wszystkich wyrażeń podrzędnych.
<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>
Element ten odpowiada operacji OR wykonywanej na wynikach wartościowania wszystkich wyrażeń podrzędnych.
<!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
forcePluginActivation (true | false)
>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 org.eclipse.core.expressions.propertyTesters. Wyrażenie testowe zwraca wartość EvaluationResult.NOT_LOADED, jeśli tester właściwości wykonujący rzeczywiste testowanie nie został jeszcze załadowany, a atrybut forcePluginActivation ma wartość false. Jeśli atrybut forcePluginActivation ma wartość true, a kontekst wartościowania użyty do wartościowania tego wyrażenia obsługuje aktywowanie wtyczki, wtedy wartościowanie właściwości spowoduje aktywowanie wtyczki definiującej tester.
value wyrażenia
testowego.value jest
przekształcany w typ podstawowy języka Java zgodnie z następującymi regułami:
Boolean.TRUE.Boolean.FALSE.java.lang.String.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.
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 , reference)*>
<!ATTLIST with
variable CDATA #REQUIRED
>Ten element 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 rozstrzygnąć, podczas wartościowania wyrażenie zgłasza wyjątek ExpressionException. Elementy potomne wyrażenia with są łączone za pomocą operatora and.
<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>
<!ATTLIST resolve
variable CDATA #REQUIRED
args CDATA #IMPLIED
>Ten element 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 rozstrzygnąć, podczas wartościowania wyrażenie zgłasza wyjątek ExpressionException. Elementy potomne wyrażenia resolve są łączone za pomocą operatora and.
IVariableResolver) za pośrednictwem kontekstu wartościowania przekazywanego do elementu głównego wyrażenia w trakcie wartościowania tego wyrażenia.value wyrażenia
testowego.<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>
<!ATTLIST adapt
type CDATA #REQUIRED
>
Element ten służy do dostosowywania obiektu aktywnego do typu określonego
atrybutem type. Wyrażenie zwraca wartość EvaluationResult.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 są łączone za pomocą operatora and.
<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>
<!ATTLIST iterate
operator (or|and)
ifEmpty (true | false)
>Element ten służy do iterowania po zmiennej typu java.util.Collection lub zmiennej pasującej do elementu org.eclipse.core.expressions.IIterable. Jeśli obiekt aktywny nie jest jednym z powyższych obiektów, podczas wartościowania wyrażenia zostanie zgłoszony wyjątek CoreException ze statusem ExpressionStatus. Wyrażenia potomne wyrażenia iterate są łączone za pomocą operatora and.
and lub or. Operator
definiuje sposób łączenia wyników wszystkich wyrażeń potomnych zastosowanych do
każdego elementu potomnego typu Collection lub
IIterable oraz rodzaj wartościowania niepełnego, które zostanie
użyte (jeśli zostanie użyte). Jeśli nie została podana żadna wartość, stosowany jest operator and.<!ELEMENT reference EMPTY>
<!ATTLIST reference
definitionId IDREF #REQUIRED
>Ten element służy do odwołania się do wyrażenia z punktu rozszerzenia org.eclipse.core.expressions.definitions. Definicja wyrażenia będzie wartościowana w bieżącym elemencie wyrażenia z użyciem bieżącego kontekstu wartościowania.
<extension point="org.eclipse.wst.jsdt.ui.quickFixProcessors"> <quickFixProcessor id="AdvancedQuickFixProcessor" name="Zaawansowany procesor szybkiej poprawki" requiredSourceLevel="1.5" class="com.example.AdvancedQuickFixProcessor"> <handledMarkerTypes> <markerType id="org.eclipse.myplugin.audits"/> </handledMarkerTypes> <enablement> <with variable="projectNatures"> <iterate operator="or"> <equals value="org.eclipse.wst.jsdt.core.javanature"/> </iterate> </with> </enablement> </quickFixProcessor> </extension>
org.eclipse.wst.jsdt.ui.text.java.IQuickFixProcessor.
Copyright (c) 2007 IBM Corporation and others.
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.