Állapot kontextus megjelenítő átdolgozása

org.eclipse.ltk.ui.refactoring.statusContextViewers

3.0

A kiterjesztési pont az átdolgozási állapot bejegyzés kontextusát a felhasználó számára megjeleníteni képes különleges megjelenítők meghatározására használható. A kifejezés olvasója a következő előre meghatározott változókat biztosítja, amelyeket a <with variable="..."> címke használatával lehet elérni kifejezés kiértékelés közben:

context
a felhasználói felületen megjelenítésre kerülő átdolgozási állapot bejegyzés által kezelt kontextus objektum.

A változókat a <with variable="..."/> kifejezés használatával lehet elérni. A kifejezés kiértékelésnél használt alapértelmezett változó a kontextus változóhoz van kötve.

<!ELEMENT extension (statusContextViewer*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT statusContextViewer (enablement)>

<!ATTLIST statusContextViewer

id    CDATA #REQUIRED

class CDATA #REQUIRED>


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

Általános gyökérelem. Az elem kiterjesztési pontokon belül használható a hozzá tartozó enablement kifejez meghatározására. Az enablement kifejezések leszármazottai az and operátorral kombinálhatók.



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

Ez az elem egy NOT műveletet képvisel a részelemeként kiértékelt kifejezés eredményén.



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

Ez az elem egy AND műveletet képvisel a részelemeként kiértékelt összes kifejezés eredményén.



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

Ez az elem egy OR műveletet képvisel a részelemeként kiértékelt összes kifejezés eredményén.



<!ELEMENT instanceof EMPTY>

<!ATTLIST instanceof

value CDATA #REQUIRED>

Ezzel az elemmel végezhető el a fókuszban lévő objektum instanceof ellenőrzése. A kifejezés az EvaluationResult.TRUE értékkel tér vissza, ha az objektum típusa a value attribútumban megadott típus altípusa. Ellenkező esetben EvaluationResult.FALSE kerül visszaadásra.



<!ELEMENT test EMPTY>

<!ATTLIST test

property CDATA #REQUIRED

args     CDATA #IMPLIED

value    CDATA #IMPLIED>

Ezzel az elemmel értékelhető ki a fókuszban lévő objektum tulajdonságának állapota. A tesztelhető tulajdonságok halmaza a tulajdonságtesztelő kiterjesztési ponton terjeszthető ki. A tesztelési kifejezés EvaluationResult.NOT_LOADED értéket ad vissza, ha a tényleges tesztelést végző tulajdonságtesztelő még nincs betöltve.



<!ELEMENT systemTest EMPTY>

<!ATTLIST systemTest

property CDATA #REQUIRED

value    CDATA #REQUIRED>

Megvizsgál egy rendszertulajdonságot a System.getProperty metódus meghívásával, és összehasonlítja az eredményt a value attribútumban megadott értékkel.



<!ELEMENT equals EMPTY>

<!ATTLIST equals

value CDATA #REQUIRED>

Ezzel az elemmel végezhető el a fókuszban lévő objektum egyenlőségi ellenőrzése. A kifejezés az EvaluationResult.TRUE értékkel tér vissza, ha az objektum egyenlő a value attribútumban megadott értékkel. Ellenkező esetben EvaluationResult.FALSE kerül visszaadásra.



<!ELEMENT count EMPTY>

<!ATTLIST count

value CDATA #REQUIRED>

Ezzel az elemmel vizsgálható megy egy kollekció elemszáma.



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

<!ATTLIST with

variable CDATA #REQUIRED>

Az elem módosítja a leszármazott elemek tekintetében megvizsgálandó objektumot az adott változó által hivatkozott objektumra. Ha a változó nem oldható fel, akkor a kifejezés a kiértékelés során ExpressionException kivételt ad. A with kifejezések leszármazottai az and operátorral kombinálhatók.



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

<!ATTLIST resolve

variable CDATA #REQUIRED

args     CDATA #IMPLIED>

Az elem módosítja a leszármazott elemek tekintetében megvizsgálandó objektumot az adott változó által hivatkozott objektumra. Ha a változó nem oldható fel, akkor a kifejezés a kiértékelés során ExpressionException kivételt ad. A with kifejezések leszármazottai az and operátorral kombinálhatók.



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

<!ATTLIST adapt

type CDATA #REQUIRED>

Ezzel az elemmel adaptálható a fókuszban lévő objektum a type attribútummal megadott típusra. A kifejezés "nincs betöltve" értéket ad vissza, ha a hivatkozott adapter vagy típus még nincs betöltve. ExpressionException kivételt ad a kiértékelés során, ha a típus neve egyáltalán nem létezik. Az adapt kifejezések leszármazottai az and operátorral kombinálhatók.



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

<!ATTLIST iterate

operator (or|and) >

Ezzel az elemmel iterálhatók a java.util.Collection típusú változók. Ha a fókuszban lévő objektum nem java.util.Collection típusú, akkor a kifejezés kiértékelése ExpressionException kivételt ad.



Az alábbi példa egy állapot kontextus megjelenítőt a FileStatusContext objektumokhoz.
   

<extension point=

"org.eclipse.ltk.ui.refactoring.statusContextViewers"

>

<statusContextViewer class=

"org.eclipse.ltk.internal.ui.refactoring.FileStatusContextViewer"

id=

"org.eclipse.ltk.internal.ui.refactoring.fileStatusContextViewer"

>

<enablement>

<instanceof value=

"org.eclipse.ltk.core.refactoring.FileStatusContext"

/>

</enablement>

</statusContextViewer>

</extension>

A hozzáadott osztálynak az org.eclipse.ltk.ui.refactoring.participants.IStatusContextViewer osztályt kell kiterjesztenie.