Pika-apukäsittelijä

org.eclipse.jdt.ui.quickAssistProcessors

3.0

Tämän laajennuspisteen avulla voi lisätä pika-apukäsittelijän, joka tuo pika-apuja Java-muokkausohjelmaan. Tämä laajennuspiste tukee enablement-tunnistetta. Testattavat ominaisuudet ovat:
  • compilationUnit: ICompilationUnit-tyyppi; käännösyksikkö, jonka yhteydessä pika-apu toteutetaan
  • projectNatures: Collection-tyyppi; kaikki nykyisen projektin projektiluonteet
  • sourceLevel: String-tyyppi; nykyisen projektin lähteen yhteensopivuus
  • <!ELEMENT extension (quickAssistProcessor*)>

    <!ATTLIST extension

    point CDATA #REQUIRED

    id    CDATA #IMPLIED

    name  CDATA #IMPLIED>


    <!ELEMENT quickAssistProcessor (enablement)>

    <!ATTLIST quickAssistProcessor

    id                  CDATA #REQUIRED

    name                CDATA #IMPLIED

    class               CDATA #IMPLIED

    requiredSourceLevel CDATA #IMPLIED>


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

    Yleinen juurielementti. Elementtiä voidaan käyttää laajennuspisteen sisällä sen enablement-lausekkeen määritykseen. Enablement-lausekkeen aliobjektit yhdistetään käyttämällä and-operaattoria.



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

    Tämä elementti kuvaa sen alielementin lausekkeen laskennan tulokselle suoritettua NOT-toimintoa.



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

    Tämä elementti kuvaa sen kaikkien alielementtien lausekkeiden laskennan tulokselle suoritettua AND-toimintoa.



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

    Tämä elementti kuvaa sen kaikkien alielementtien lausekkeiden laskennan tulokselle suoritettua OR-toimintoa.



    <!ELEMENT instanceof EMPTY>

    <!ATTLIST instanceof

    value CDATA #REQUIRED>

    Tätä elementtiä käytetään suorittamaan tarkennetulle objektille instanceof-tarkistus. Lauseke palauttaa arvon EvaluationResult.TRUE, jos objektin tyyppi on määritteen arvon mukaisen tyypin alalaji. Muussa tapauksessa se palauttaa arvon EvaluationResult.FALSE.



    <!ELEMENT test EMPTY>

    <!ATTLIST test

    property CDATA #REQUIRED

    args     CDATA #IMPLIED

    value    CDATA #IMPLIED>

    Tätä elementtiä käytetään laskemaan tarkennetun objektin ominaisuuksien tila. Testattavien ominaisuuksien joukon voi laajentaa käyttämällä ominaisuuksien testaustoiminnon laajennuspistettä. Testilauseke palauttaa arvonEvaluationResult.NOT_LOADED, jos varsinaisen testauksen suorittavaa ominaisuuksien testaustoimintoa ei ole vielä ladattu.



    <!ELEMENT systemTest EMPTY>

    <!ATTLIST systemTest

    property CDATA #REQUIRED

    value    CDATA #REQUIRED>

    Testaa järjestelmän ominaisuuksia kutsumalla System.getProperty-metodin ja vertaa testin tulosta arvon määritteen avulla määritettyyn arvoon.



    <!ELEMENT equals EMPTY>

    <!ATTLIST equals

    value CDATA #REQUIRED>

    Tätä elementtiä käytetään suorittamaan tarkennetulle objektille equals-tarkistus. Lauseke palauttaa arvon EvaluationResult.TRUE, jos objekti on yhtä suuri kuin määritteen arvon mukainen arvo. Muussa tapauksessa se palauttaa arvon EvaluationResult.FALSE.



    <!ELEMENT count EMPTY>

    <!ATTLIST count

    value CDATA #REQUIRED>

    Tätä elementtiä käytetään testaamaan kokoelmassa olevien elementtien määrää.



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

    <!ATTLIST with

    variable CDATA #REQUIRED>

    ###Tämä elementti muuttaa objektin tarkastettavaksi kaikkien sellaisten alielementtien, joiden pääobjektiin annettu muuttuja viittaa, osalta. Jos muuttujaa ei voida tulkita, lauseke tuottaa ExpressionException-poikkeuksen laskiessaan sitä. With-lausekkeen aliobjektit yhdistetään käyttämällä and-operaattoria.



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

    <!ATTLIST resolve

    variable CDATA #REQUIRED

    args     CDATA #IMPLIED>

    ###Tämä elementti muuttaa objektin tarkastettavaksi kaikkien sellaisten alielementtien, joiden pääobjektiin annettu muuttuja viittaa, osalta. Jos muuttujaa ei voida tulkita, lauseke tuottaa ExpressionException-poikkeuksen laskiessaan sitä. With-lausekkeen aliobjektit yhdistetään käyttämällä and-operaattoria.



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

    <!ATTLIST adapt

    type CDATA #REQUIRED>

    Tätä elementtiä käytetään sovittamaan tarkennettu objekti määritteen tyypin avulla määritettyyn tyyppiin. Lauseke palauttaa arvon ei ole ladattu, jos joko sovitinta tai viitattua tyyppiä ei ole vielä ladattu. Se tuottaaExpressionException-poikkeuksen laskennan aikana, jos tyypin nimeä ei ole lainkaan. Adapt-lausekkeen aliobjektit yhdistetään käyttämällä and-operaattoria.



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

    <!ATTLIST iterate

    operator (or|and) >

    Tätä elementtiä käytetään iteroimaan java.util.Collection-tyypin muuttujia. Jos tarkennettu objekti ei ole tyyppiä java.util.Collection, lauseketta laskettaessa tuotetaan ExpressionException-poikkeus.



    Seuraavassa on esimerkki pika-apukäsittelijän lisäyksestä:

     

    <extension point=

    "org.eclipse.jdt.ui.quickAssistProcessors"

    >

    <quickAssistProcessor id=

    "AdvancedQuickAssistProcessor"

    name=

    "Advanced Quick Assist Processor"

    requiredSourceLevel=

    "1.5"

    class=

    "com.example.AdvancedQuickAssistProcessor"

    >

    </quickAssistProcessor>

    <enablement>

    <with variable=

    "projectNatures"

    >

    <iterate operator=

    "or"

    >

    <equals value=

    "org.eclipse.jdt.core.javanature"

    />

    </iterate>

    </with>

    </enablement>

    </extension>

    Lisätyn luokan on toteutettava org.eclipse.jdt.ui.text.java.IQuickAssistProcessor-rajapinta