vips.model
Class UntilAnweisung

java.lang.Object
  extended by vips.model.UIElement
      extended by vips.model.Anweisung
          extended by vips.model.SchleifenAnweisung
              extended by vips.model.UntilAnweisung
All Implemented Interfaces:
BedingungsAnweisung, Beobachtbar

public class UntilAnweisung
extends SchleifenAnweisung
implements BedingungsAnweisung

Diese Klasse implementiert eine Until-Schleife (Fußgesteuerte Schleife)

Events:
Wenn sich was an der Bedingung ändert


Field Summary
 
Fields inherited from class vips.model.Anweisung
listeners, weiterleitung
 
Fields inherited from class vips.model.UIElement
RAND
 
Constructor Summary
UntilAnweisung(AnweisungsContainer vater, int index, Ausdruck bedingung)
          Erzeugt eine neue Until-Schleife mit der gegebenen Abbruchsbedingung.
UntilAnweisung(org.jdom.Element e)
           
 
Method Summary
(package private)  void ausfuehren(java.lang.Object einzelschrittLock)
          Führt diese Schleife aus
(package private)  org.eclipse.swt.graphics.Point berechneBevorzugteGroesse(org.eclipse.swt.graphics.GC gc)
          Berechnet beste Größe.
 Ausdruck getBedingung()
          Gibt die Schleifenabbruchsbedingung zurück
static java.lang.String getXMLTagName()
          Gibt "until_anweisung" zurück.
(package private)  void pruefen(java.util.Collection fehler, BenamterWertSammlung variablen)
          Prüft diese Anweisung.
 void setBedingung(Ausdruck b)
          Setzt die Schleifenabbruchsbedingung
 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.SchleifenAnweisung
getAnweisungAnPos, getRumpf, hintergrundZuruecksetzen
 
Methods inherited from class vips.model.Anweisung
changeListenerEntfernen, changeListenerHinzufuegen, createFromXMLElement, getContainer, getProjekt, getStruktogramm, setContainer
 
Methods inherited from class vips.model.UIElement
getBreite, getGroesse, getHintergrund, getHoehe, getPos, getX, getY, 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

UntilAnweisung

public UntilAnweisung(AnweisungsContainer vater,
                      int index,
                      Ausdruck bedingung)
Erzeugt eine neue Until-Schleife mit der gegebenen Abbruchsbedingung.

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

UntilAnweisung

public UntilAnweisung(org.jdom.Element e)
               throws FalschesDateiFormatException
Throws:
FalschesDateiFormatException
Method Detail

ausfuehren

void ausfuehren(java.lang.Object einzelschrittLock)
          throws BreakException,
                 ContinueException,
                 LaufzeitException,
                 TerminateException
Führt diese Schleife aus

Overrides:
ausfuehren in class Anweisung
Parameters:
einzelschrittLock - Wenn ungleich null, ruft die Anweisung am Anfang auf dieses Objekt einzelschrittLock.wait auf.
Throws:
LaufzeitException - Wenn die Bedingung nicht vom Typ Boolean ist
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.
Folgende Punkte werden geprüft:
  1. Kann die Bedingung ausgewertet werden?
  2. Ist sie vom Typ Boolean?

Overrides:
pruefen in class SchleifenAnweisung

setBedingung

public void setBedingung(Ausdruck b)
Setzt die Schleifenabbruchsbedingung

Specified by:
setBedingung in interface BedingungsAnweisung
Throws:
java.lang.IllegalArgumentException - Wenn b null ist

getBedingung

public Ausdruck getBedingung()
Gibt die Schleifenabbruchsbedingung zurück

Specified by:
getBedingung in interface BedingungsAnweisung

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