handledMarkerTypes, начиная с версии 3.2.
Начиная с версии 3.2, в расширении могут быть указаны поддерживаемые типы маркеров неполадок. В расширения передаются только неполадки поддерживаемых типов. Если типы неполадок не указаны, процессор будет получать только неполадки типов org.eclipse.wst.jsdt.core.problem, org.eclipse.wst.jsdt.core.buildpath_problem и org.eclipse.wst.jsdt.core.task (для совместимости с версиями ниже 3.2).
Эта точка расширения поддерживает тег enablement. Проверяемые параметры:
<!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+)>
Указывает типы маркеров неполадок, которые поддерживает процессор быстрого исправления. Если типы неполадок не указаны, процессор будет получать неполадки типов org.eclipse.wst.jsdt.core.problem, org.eclipse.wst.jsdt.core.buildpath_problem и 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)*>
Шаблонный корневой элемент. Этот элемент может использоваться внутри точки расширения для определения ее выражения enablement. Для объединения подэлементов выражения enablement используется оператор and.
<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate | reference)>
Этот элемент представляет операцию НЕ, применяемую к результату вычисления выражения подэлемента.
<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>
Этот элемент представляет операцию И, применяемую к результатам вычисления выражений всех подэлементов.
<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>
Этот элемент представляет операцию ИЛИ, применяемую к результатам вычисления всех выражений подэлемента.
<!ELEMENT instanceof EMPTY>
<!ATTLIST instanceof
value CDATA #REQUIRED
>Этот элемент позволяет проверить допустимость преобразования типа выбранного объекта к указанному типу. Выражение возвращает EvaluationResult.TRUE, если тип объекта является производным типом типа, указанного в значении атрибута. В противном случае возвращается EvaluationResult.FALSE.
<!ELEMENT test EMPTY>
<!ATTLIST test
property CDATA #REQUIRED
args CDATA #IMPLIED
value CDATA #IMPLIED
forcePluginActivation (true | false)
>Этот элемент используется для проверки состояния свойства выбранного объекта. Набор тестируемых свойств можно расширить с помощью точки расширения org.eclipse.core.expressions.propertyTesters. Выражение тестирования возвращает EvaluationResult.NOT_LOADED, если программа тестирования свойств, отвечающая за фактическое тестирование, еще не загружена, а для атрибута forcePluginActivation задано значение false. Если для атрибута forcePluginActivation задано значение true и контекст вычисления, используемый для активации модуля поддержки данного выражения, то в результате оценки свойства будет активирован модуль, определяющий программу тестирования.
<!ELEMENT systemTest EMPTY>
<!ATTLIST systemTest
property CDATA #REQUIRED
value CDATA #REQUIRED
>Тестирует системное свойство, вызывая для этого метод System.getProperty и сравнивая результат со значением, указанным в атрибуте value.
<!ELEMENT equals EMPTY>
<!ATTLIST equals
value CDATA #REQUIRED
>Этот элемент применяется для выполнения проверки equals объекта в фокусе. Выражение возвращает EvaluationResult.TRUE, если объект равен значению атрибута value. В противном случае возвращается EvaluationResult.FALSE.
<!ELEMENT count EMPTY>
<!ATTLIST count
value CDATA #REQUIRED
>Этот элемент применяется для проверки числа элементов в наборе.
<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>
<!ATTLIST with
variable CDATA #REQUIRED
>Этот элемент изменяет объект, проверяемый относительно всех его дочерних элементов, на объект, указанный заданной переменной. Если преобразовать переменную невозможно, то при вычислении выражения выдается ситуация ExpressionException. Для объединения подэлементов выражения with используется оператор and.
<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>
<!ATTLIST resolve
variable CDATA #REQUIRED
args CDATA #IMPLIED
>Этот элемент изменяет объект, проверяемый относительно всех его дочерних элементов, на объект, указанный заданной переменной. Если преобразовать переменную невозможно, то при вычислении выражения выдается ситуация ExpressionException. Для объединения подэлементов выражения resolve используется оператор and.
<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>
<!ATTLIST adapt
type CDATA #REQUIRED
>Данный элемент используется для адаптации выбранного объекта к типу, указанному в атрибуте type. Если адаптер или указанный тип еще не загружены, выражение возвращает EvaluationResult.NOT_LOADED. Оно выбрасывает ExpressionException во время обработки, если имя типа вообще не существует. Для объединения подэлементов выражения adapt используется оператор and.
<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>
<!ATTLIST iterate
operator (or|and)
ifEmpty (true | false)
>Этот элемент используется для выполнения итераций с переменной, относящейся к типу java.util.Collection, или с переменной, подходящей к org.eclipse.core.expressions.IIterable. Если тип выбранного объекта отличен от вышеуказанного, то при вычислении этого выражения выдается ситуация CoreException с ExpressionStatus. Для объединения дочерних выражений выражения iterate используется оператор and.
<!ELEMENT reference EMPTY>
<!ATTLIST reference
definitionId IDREF #REQUIRED
>Данный элемент используется в качестве ссылки на выражение из точки расширения org.eclipse.core.expressions.definitions. Определение выражения будет вычисляться в рамках текущего элемента выражения с помощью текущего контекста вычисления.
<extension point="org.eclipse.wst.jsdt.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.wst.jsdt.core.javanature"/> </iterate> </with> </enablement> </quickFixProcessor> </extension>
org.eclipse.wst.jsdt.ui.text.java.IQuickFixProcessor
Copyright (c) 2007 IBM Corporation и другие.
Все права защищены. Эта программа и сопутствующие материалы распространяются на условиях Eclipse Public License v1.0, поставляемой вместе с продуктом и доступной на веб-сайте
http://www.eclipse.org/legal/epl-v10.html