handledMarkerTypes
siden 3.2.
Siden 3.2 kan en udvidelse angive, hvilke problemmarkeringstyper den kan håndtere. Den vil kun hente problemer med disse typer til behandling. Hvis der ikke angives nogen markeringstyper til håndtering, henter processoren kun problemer med typen org.eclipse.jdt.core.problem, org.eclipse.jdt.core.buildpath_problem og org.eclipse.jdt.core.task (kompatibelt med funktionsmåden før 3.2).
Udvidelsespunktet understøtter koden enablement
. Der er følgende egenskaber, der kan testes på:
<!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+)>
Angiver markeringstyperne for de problemer, denne Hurtig rettelse-processor kan håndtere. Hvis der ikke angives nogen markeringstyper til håndtering, henter processoren problemer med typen org.eclipse.jdt.core.problem, org.eclipse.jdt.core.buildpath_problem og org.eclipse.jdt.core.task.
<!ELEMENT markerType EMPTY>
<!ATTLIST markerType
id CDATA #REQUIRED>
<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Et generisk rodelement. Elementet kan bruges i et udvidelsespunkt til at definere dets aktiveringsudtryk. Et aktiveringsudtryks underordnede kombineres vha. operatoren AND.
<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>
Elementet repræsenterer en NOT-funktion på resultatet af evalueringen af dets underelementudtryk.
<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Elementet repræsenterer en AND-funktion på resultatet af evalueringen af alle dets underelementudtryk.
<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Elementet repræsenterer en OR-funktion på resultatet af evalueringen af alle dets underelementudtryk.
<!ELEMENT instanceof EMPTY>
<!ATTLIST instanceof
value CDATA #REQUIRED>
Elementet bruges til at udføre en instanceof-kontrol af det objekt, der fokuseres på. Udtrykket returnerer EvaluationResult.TRUE, hvis objektets type er en undertype af den type, der angives af value-attributten. Ellers returneres EvaluationResult.FALSE.
<!ELEMENT test EMPTY>
<!ATTLIST test
property CDATA #REQUIRED
args CDATA #IMPLIED
value CDATA #IMPLIED>
Elementet bruges til at evaluere egenskabstilstanden for det objekt, der fokuseres på. Det sæt egenskaber, der kan testes på, kan udvides vha. udvidelsespunktet til egenskabstesteren. Udtrykket returnerer EvaluationResult.NOT_LOADED, hvis den egenskabstester, der skal udføre den egentlige test, ikke er indlæst endnu.
<!ELEMENT systemTest EMPTY>
<!ATTLIST systemTest
property CDATA #REQUIRED
value CDATA #REQUIRED>
Tester en systemegenskab ved at kalde metoden System.getProperty og sammenligner resultatet med den værdi, der er angivet i value-attributten.
<!ELEMENT equals EMPTY>
<!ATTLIST equals
value CDATA #REQUIRED>
Elementet bruges til at udføre en equals-kontrol af det objekt, der fokuseres på. Udtrykket returnerer EvaluationResult.TRUE, hvis objektet er lig med den værdi, der angives af attributten value. Ellers returneres EvaluationResult.FALSE.
<!ELEMENT count EMPTY>
<!ATTLIST count
value CDATA #REQUIRED>
Elementet bruges til at teste antallet af elementer i en samling.
<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST with
variable CDATA #REQUIRED>
Elementet ændret det objekt, der skal undersøges, for alle dets underordnede elementer til det objekt, den angivne variabel refererer til. Hvis variablen ikke kan opløses, afsender udtrykket undtagelsen ExpressionException, når den evalueres. Et with-udtryks underordnede kombineres med operatoren AND.
<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST resolve
variable CDATA #REQUIRED
args CDATA #IMPLIED>
Elementet ændret det objekt, der skal undersøges, for alle dets underordnede elementer til det objekt, den angivne variabel refererer til. Hvis variablen ikke kan opløses, afsender udtrykket undtagelsen ExpressionException, når den evalueres. Et with-udtryks underordnede kombineres med operatoren AND.
<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST adapt
type CDATA #REQUIRED>
Elementet bruges til at tilpasse objektet i fokus til den type, der angives af attributtypen. Udtrykket returnerer NOT_LOADED, hvis adapteren eller den refererede type endnu ikke er indlæst. Det afsender undtagelsen ExpressionException under evaluering, hvis typenavnet slet ikke findes. Et adapt-udtryks underordnede kombineres med operatoren AND.
<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST iterate
operator (or|and) >
Elementet bruges til at gentage over en variabel af typen java.util.Collection. Hvis objektet i fokus ikke har typen java.util.Collection, afsendes undtagelsen ExpressionException under evaluering af udtrykket.
<extension point=
"org.eclipse.jdt.ui.quickFixProcessors"
>
<quickFixProcessor id=
"AdvancedQuickFixProcessor"
name=
"Advanced Quick Fix Processor"
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.jdt.core.javanature"
/>
</iterate>
</with>
</enablement>
</quickFixProcessor>
</extension>
org.eclipse.jdt.ui.text.java.IQuickFixProcessor
.
Copyright (c) 2001, 2006 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made
available under the terms of the Eclipse Public License v1.0 which accompanies
this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html