vips.model
Class ZuweisungsAnweisung

java.lang.Object
  extended by vips.model.UIElement
      extended by vips.model.Anweisung
          extended by vips.model.ZuweisungsAnweisung
All Implemented Interfaces:
Beobachtbar

public class ZuweisungsAnweisung
extends Anweisung

Diese Klasse stellt eine Zuweisung eines Ausdrucks an eine Variable dar.

Events:
-Wenn sich der Name der Variable ändert
-Wenn sich was im Ausdruck ändert


Field Summary
 
Fields inherited from class vips.model.Anweisung
listeners, weiterleitung
 
Fields inherited from class vips.model.UIElement
RAND
 
Constructor Summary
ZuweisungsAnweisung(AnweisungsContainer vater, int index, java.lang.String variable, Ausdruck ausdruck)
          Erzeugt eine neue ZuweisungsAneisung
ZuweisungsAnweisung(org.jdom.Element e)
          Erzeugt Anweisung ausm XML-Element
 
Method Summary
(package private)  void ausfuehren(java.lang.Object einzelschrittLock)
          Führt die Zuweisung durch.
(package private)  org.eclipse.swt.graphics.Point berechneBevorzugteGroesse(org.eclipse.swt.graphics.GC gc)
          Berechnet beste Größe.
 Ausdruck getAusdruck()
          Gibt den zuzuweisenden Ausdruck zurück
 java.lang.String getVariablenName()
          Gibt den Namen der Variable zurück
static java.lang.String getXMLTagName()
          Gibt "zuweisungs_anweisung" zurück.
(package private)  void pruefen(java.util.Collection fehler, BenamterWertSammlung variablen)
          Prüft diese Anweisung auf Korrektheit.
 void setAusdruck(Ausdruck neuerAusdruck)
          Setzt den Ausdruck, der zugewiesen werden soll
 void setVariablenName(java.lang.String varName)
          Setzt den Namen der Variable, der ein Wert zugewiesen werden soll
 org.jdom.Element toXMLElement()
          Wandelt diese Anweisung in ein entsprechendes XML-Tag um.
(package private)  void zeichne(org.eclipse.swt.graphics.GC gc)
          Zeichnet die Anweisung auf den übergebenen GC.
 
Methods inherited from class vips.model.Anweisung
changeListenerEntfernen, changeListenerHinzufuegen, createFromXMLElement, getAnweisungAnPos, getContainer, getProjekt, getStruktogramm, setContainer
 
Methods inherited from class vips.model.UIElement
getBreite, getGroesse, getHintergrund, getHoehe, getPos, getX, getY, hintergrundZuruecksetzen, hoeheAnpassen, setBreite, setGroesse, setHintergrund, setHoehe, setPos
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ZuweisungsAnweisung

public ZuweisungsAnweisung(AnweisungsContainer vater,
                           int index,
                           java.lang.String variable,
                           Ausdruck ausdruck)
Erzeugt eine neue ZuweisungsAneisung

Parameters:
vater - Der umgebende Container oder null
index - Index im Vater-Container
variable - Der Name der Variable, der ein Wert zugewiesen werden soll
ausdruck - Dieser Ausdruck wird ausgewertet und dann der Variable zugewiesen
Throws:
java.lang.IllegalArgumentException - Wenn index ungültig ist oder variable oder ausdruck null ist.

ZuweisungsAnweisung

public ZuweisungsAnweisung(org.jdom.Element e)
Erzeugt Anweisung ausm XML-Element

Method Detail

ausfuehren

void ausfuehren(java.lang.Object einzelschrittLock)
          throws BreakException,
                 ContinueException,
                 LaufzeitException,
                 TerminateException
Führt die Zuweisung durch.

Overrides:
ausfuehren in class Anweisung
Parameters:
einzelschrittLock - Wenn ungleich null, ruft die Anweisung am Anfang auf dieses Objekt einzelschrittLock.wait auf.
Throws:
LaufzeitException - Bei einem Laufzeitfehler, z.B. wenn die Variable nicht existiert oder Variable und Ausdruck nicht zuweisungskompatibel sind
BreakException - Wird von einer BreakAnweisung geworfen, um die umgebende Schleife zu beenden.
ContinueException - Wird von einer ContinueAnweisung geworfen, um zum Anfang eines Schleifenrumpfs zu springen.
TerminateException - Wenn der Ausführungsthread unterbrochen wurde.

pruefen

void pruefen(java.util.Collection fehler,
             BenamterWertSammlung variablen)
Prüft diese Anweisung auf Korrektheit.
Folgende Tests werden durchgeführt:
  1. Existiert die Variable und ist sie keine Konstante?
  2. Kann der Ausdruck ausgewertet werden?
  3. Wenn bis jetzt alles passt: Sind Ausdruck und Variable zuweisungskompatibel?

Overrides:
pruefen in class Anweisung

setVariablenName

public void setVariablenName(java.lang.String varName)
Setzt den Namen der Variable, der ein Wert zugewiesen werden soll

Throws:
java.lang.IllegalArgumentException - Wenn varName null ist

getVariablenName

public java.lang.String getVariablenName()
Gibt den Namen der Variable zurück


setAusdruck

public void setAusdruck(Ausdruck neuerAusdruck)
Setzt den Ausdruck, der zugewiesen werden soll

Throws:
java.lang.IllegalArgumentException - Wenn ausdruck null ist

getAusdruck

public Ausdruck getAusdruck()
Gibt den zuzuweisenden Ausdruck zurück


toXMLElement

public org.jdom.Element toXMLElement()
Description copied from class: Anweisung
Wandelt diese Anweisung in ein entsprechendes XML-Tag um.
Implementierende Klassen dürfen auch null zurückgeben, damit zeigen sie an, dass sie nicht geschrieben werden sollen/brauchen, z.B. die LeereAnweisung.

Specified by:
toXMLElement in class Anweisung

getXMLTagName

public static java.lang.String getXMLTagName()
Gibt "zuweisungs_anweisung" zurück.


berechneBevorzugteGroesse

org.eclipse.swt.graphics.Point berechneBevorzugteGroesse(org.eclipse.swt.graphics.GC gc)
Berechnet beste Größe.

Specified by:
berechneBevorzugteGroesse in class UIElement
Parameters:
gc - Der GC, auf den das Element gezeichnet werden würde

zeichne

void zeichne(org.eclipse.swt.graphics.GC gc)
Zeichnet die Anweisung auf den übergebenen GC.

Specified by:
zeichne in class UIElement