Procesador de arreglos rápidos

Identificador:
org.eclipse.wst.jsdt.ui.quickFixProcessors

Desde:
Punto de extensión desde 3.0. Elemento handledMarkerTypes desde 3.2.

Descripción:
Este punto de extensión permite añadir un procesador de arreglos rápidos para ofrecer nuevos arreglos rápidos para problemas JavaScript.

Desde 3.2 una extensión puede especificar qué tipos de marcador de problemas pueden manejar. Solo obtendrá problemas de estos tipos para procesar. Si no se especifican tipos de marcadores manejados, el procesador solo obtendrá problemas de los tipos org.eclipse.wst.jsdt.core.problem, org.eclipse.wst.jsdt.core.buildpath_problem y org.eclipse.wst.jsdt.core.task (compatibles con el comportamiento anterior a 3.2).

Este punto de extensión soporta el código enablement. Las propiedades a probar son:

  • compilationUnit: tipo ICompilationUnit; la unidad de compilación sobre la que se aplica la asistencia rápida
  • projectNatures: tipo Collection; todas las naturalezas de proyecto del proyecto actual
  • sourceLevel: tipo String; la conformidad del código fuente del proyecto actual
  • Código de configuración:

    <!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+)>

    Especifica los tipos de marcador de los problemas que este procesador de asistencia rápida puede manejar. Si no se especifican tipos de marcadores manejados, el procesador obtendrá problemas de los tipos org.eclipse.wst.jsdt.core.problem, org.eclipse.wst.jsdt.core.buildpath_problem y 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)*>

    Elemento raíz genérico. El elemento puede utilizarse en un punto de extensión para definir su expresión enablement. Los hijos de una expresión enablement se combinan mediante el operador "and".



    <!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate | reference)>

    Este elemento representa una operación NOT en el resultado de evaluar la expresión de su subelemento.



    <!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    Este elemento representa una operación AND en el resultado de evaluar todas las expresiones de sus subelementos.



    <!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    Este elemento representa una operación OR en el resultado de evaluar todas las expresiones de sus subelementos.



    <!ELEMENT instanceof EMPTY>

    <!ATTLIST instanceof

    value CDATA #REQUIRED

    >

    Este elemento se utiliza para realizar una comprobación instanceof del objeto que tiene el foco. La expresión devuelve EvaluationResult.TRUE si el tipo del objeto es un subtipo del tipo especificado por el atributo value. De lo contrario, se devuelve EvaluationResult.FALSE.



    <!ELEMENT test EMPTY>

    <!ATTLIST test

    property              CDATA #REQUIRED

    args                  CDATA #IMPLIED

    value                 CDATA #IMPLIED

    forcePluginActivation (true | false)

    >

    Este elemento se utiliza para evaluar el estado de propiedad del objeto que tiene el foco. El conjunto de propiedades que pueden probarse puede ampliarse mediante el punto de extensión org.eclipse.core.expressions.propertyTesters. La expresión de prueba devuelve EvaluationResult.NOT_LOADED si el probador de propiedades que realiza la prueba no se ha cargado todavía y el atributo forcePluginActivation está establecido en false. Si forcePluginActivation se establece en true y el contexto de evaluación utilizado para evaluar esta expresión soporta la activación del plug-in, la evaluación de la propiedad implicará la activación del plug-in que define el probador.



    <!ELEMENT systemTest EMPTY>

    <!ATTLIST systemTest

    property CDATA #REQUIRED

    value    CDATA #REQUIRED

    >

    Prueba una propiedad del sistema llamando al método System.getProperty y compara el resultado con el valor especificado con el atributo value.



    <!ELEMENT equals EMPTY>

    <!ATTLIST equals

    value CDATA #REQUIRED

    >

    Este elemento se utiliza para realizar una comprobación equals del objeto que tiene el foco. La expresión devuelve EvaluationResult.TRUE si el objeto es igual al valor proporcionado por el atributo value. De lo contrario, se devuelve EvaluationResult.FALSE.



    <!ELEMENT count EMPTY>

    <!ATTLIST count

    value CDATA #REQUIRED

    >

    Este elemento se utiliza para probar el número de elementos de una colección.



    <!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    <!ATTLIST with

    variable CDATA #REQUIRED

    >

    Este elemento cambia el objeto en el que hay que inspeccionar todos los elementos hijo para que pase a ser el objeto al que hace referencia la variable dada. Si la variable no se puede resolver, la expresión lanzará una ExpressionException al evaluarla. Los hijos de una expresión with se combinan mediante el operador "and".



    <!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    <!ATTLIST resolve

    variable CDATA #REQUIRED

    args     CDATA #IMPLIED

    >

    Este elemento cambia el objeto en el que hay que inspeccionar todos los elementos hijo para que pase a ser el objeto al que hace referencia la variable dada. Si la variable no se puede resolver, la expresión lanzará una ExpressionException al evaluarla. Los hijos de una expresión resolve se combinan mediante el operador "and".



    <!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    <!ATTLIST adapt

    type CDATA #REQUIRED

    >

    Este elemento se utiliza para adaptar el objeto en foco al tipo especificado por el atributo type. La expresión devuelve EvaluationResult.NOT_LOADED si el adaptador o el tipo al que se hace referencia todavía no está cargado. Se lanza una ExpressionException durante la evaluación si el nombre del tipo no existe en absoluto. Los hijos de una expresión adapt se combinan mediante el operador "and".



    <!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    <!ATTLIST iterate

    operator (or|and)

    ifEmpty  (true | false)

    >

    Este elemento se usa para reiterar una variable del tipo java.util.Collection o una variable que se adapta a org.eclipse.core.expressions.IIterable. Si el objeto que está en el foco no es uno de los anteriores, se lanzará una excepción CoreException con ExpressionStatus al evaluar la expresión. Las expresiones hijo de una expresión de iteración se combinan mediante el operador "and".



    <!ELEMENT reference EMPTY>

    <!ATTLIST reference

    definitionId IDREF #REQUIRED

    >

    Este elemento se utiliza para hacer referencia a una expresión del punto de ampliación org.eclipse.core.expressions.definitions. La definición de expresión se evaluará en el elemento de expresión actual mediante el contexto de evaluación actual.



    Ejemplos:
    A continuación se ofrece un ejemplo de contribución de procesador de arreglos rápidos.

    
     <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>
    

    Información sobre la API:
    La clase aportada debe implementar org.eclipse.wst.jsdt.ui.text.java.IQuickFixProcessor


    Copyright (c) 2007 IBM Corporation y otros.
    Reservados todos los derechos. Este programa y sus materiales adjuntos están disponibles bajo los términos de la licencia pública común (Eclipse Public License) v1.0 que acompaña a esta distribución, y está disponible en http://www.eclipse.org/legal/epl-v10.html