Minnegjengivelser

org.eclipse.debug.ui.memoryRenderings

3.1 - erstatning for utvidelsespunktet memoryRenderingTypes som ble vurdert som eksperimentelt i 3.0.

Tillater at plugin-moduler oppgir tilfeldige gjengivelser for minneblokker og binder minneblokker til gjengivelser. En gjengivelse kan for eksempel oversette rå byte i en minneblokk til ASCII-tegn.

<!ELEMENT extension (renderingType* | renderingBindings*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT renderingType EMPTY>

<!ATTLIST renderingType

name  CDATA #REQUIRED

id    CDATA #REQUIRED

class CDATA #REQUIRED>

Dette elementet definerer en gjengivelsestype.



<!ELEMENT renderingBindings (enablement*)>

<!ATTLIST renderingBindings

renderingIds CDATA #IMPLIED

primaryId    CDATA #IMPLIED

class        CDATA #IMPLIED

defaultIds   CDATA #IMPLIED>

Binder minneblokker med tilgjengelige gjengivelser.



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

Et generisk rotelement. Elementet kan brukes i et utvidelsespunkt for å definere det tilhørende aktiveringsuttrykket. Underordnede under et aktiveringsuttrykk kombineres med operatoren AND.



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

Dette elementet representerer en NOT-operasjon på resultatet av evalueringen av underelementuttrykket.



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

Dette elementet representerer en AND-operasjon for resultatet av evalueringen av alle de tilhørende underelementuttrykkene.



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

Dette elementet representerer en OR-operasjon for resultatet av evalueringen av alle de tilhørende underelementuttrykkene.



<!ELEMENT instanceof EMPTY>

<!ATTLIST instanceof

value CDATA #REQUIRED>

Dette elementet brukes til å utføre en instanceof-kontroll av objektet i fokus. Uttrykket returnerer EvaluationResult.TRUE hvis objektets type er en subtype under typen som er spesifisert ved attributtverdien. Ellers returneres EvaluationResult.FALSE.



<!ELEMENT test EMPTY>

<!ATTLIST test

property CDATA #REQUIRED

args     CDATA #IMPLIED

value    CDATA #IMPLIED>

Dette elementet brukes til å evaluere egenskapstilstanden til objektet i fokus. Settet med prøvbare egenskaper kan utvides ved hjelp av utvidelsespunktet for egenskapstesting. Restuttrykket returnerer EvaluationResult.NOT_LOADED hvis egenskapstesteren som utfører den faktiske testingen, ikke er lastet inn ennå.



<!ELEMENT systemTest EMPTY>

<!ATTLIST systemTest

property CDATA #REQUIRED

value    CDATA #REQUIRED>

Tester en systemegenskap ved å kalle opp metoden System.getProperty, og sammenlikner resultatet med verdien spesifisert gjennom value-attributtet.



<!ELEMENT equals EMPTY>

<!ATTLIST equals

value CDATA #REQUIRED>

Dette elementet brukes til å utføre en equals-kontroll av objektet i fokus. Uttrykket returnerer EvaluationResult.TRUE hvis objektet er lik verdien gitt ved attributtverdien. Ellers returneres EvaluationResult.FALSE.



<!ELEMENT count EMPTY>

<!ATTLIST count

value CDATA #REQUIRED>

Dette elementet brukes til å teste antallet elementer i en samling.



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

<!ATTLIST with

variable CDATA #REQUIRED>

Dette elementet endrer objektet som skal inspiseres, for alle underordnede elementer til objektet det refereres til med den oppgitte variabelen. Hvis variabelen ikke kan behandles, vil uttrykket kaste en ExpressionException ved evaluering. Underordnede under et with-uttrykk kombineres ved hjelp av operatoren AND.



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

<!ATTLIST resolve

variable CDATA #REQUIRED

args     CDATA #IMPLIED>

Dette elementet endrer objektet som skal inspiseres, for alle underordnede elementer til objektet det refereres til med den oppgitte variabelen. Hvis variabelen ikke kan behandles, vil uttrykket kaste en ExpressionException ved evaluering. Underordnede under et with-uttrykk kombineres ved hjelp av operatoren AND.



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

<!ATTLIST adapt

type CDATA #REQUIRED>

Dette elementet brukes til å tilpasse objektet i fokus til typen spesifisert ved attributtypen. Uttrykket returnerer ikke innlastet hvis adapteren eller typen det refereres til, ennå ikke er lastet inn. Det kaster et ExpressionException under evaluering hvis typenavnet ikke finnes i det hele tatt. Underordnede under et adapt-uttrykk kombineres ved hjelp av operatoren AND.



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

<!ATTLIST iterate

operator (or|and) >

Dette elementet brukes til å gjenta en variabel som er av typen java.util.Collection. Hvis objektet i fokus ikke er av typen java.util.Collection, kastes et ExpressionException ved evaluering av uttrykket.



Nedenfor finner du et eksempel på definering av en ny gjengivelsestype og binding.

<extension point=

"org.eclipse.debug.ui.memoryRenderings"

>

<renderingType name=

"Sample Rendering"

id=

"com.example.sampleRendering"

class=

"com.example.SampleRenderingTypeDelegate"

>

</renderingType>

<renderingBindings renderingIds=

"com.example.sampleRendering"

>

<enablement>

<instanceof value=

"com.example.SampleMemoryBlock"

/>

</enablement>

</renderingBindings>

</extension>

I eksempelet ovenfor blir den nye gjengivelsestypen Sample Rendering definert. Klassen com.example.SampleRenderingTypeDelegate implementerer org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate og blir brukt til å opprette nye gjengivelser av denne typen. Gjengivelsen er bundet til forekomster av com.exmaple.SampleMemoryBlock.

  • Verdien av attributtet class i et renderingType-element må være et fullt kvalifisert navn på en Java-klasse som implementerer org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate.
  • Verdien av attributtet class i et renderingBindings-element må være et fullt kvalifisert navn på en Java-klasse som implementerer org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider.
  • Feilsøkingsplattformen har disse gjengivelsestypene:

  • Heksadesimal gjengivelse (gjengivelses-ID: org.eclipse.debug.ui.rendering.raw_memory)
  • ASCII-gjengivelse (gjengivelses-ID: org.eclipse.debug.ui.rendering.ascii)
  • Gjengivelse av heltall med fortegn (gjengivelses-ID: org.eclipse.debug.ui.rendering.signedint)
  • Gjengivelse av heltall med fortegn (gjengivelses-ID: org.eclipse.debug.ui.rendering.unsignedint)

  • Feilsøkingsplattformen har en minnevisning som kan vise gjengivelser.