vips.model.ausdruck
Class Ausdruck

java.lang.Object
  extended by vips.model.ausdruck.Ausdruck
All Implemented Interfaces:
Beobachtbar

public class Ausdruck
extends java.lang.Object
implements Beobachtbar

Diese Klasse stellt einen Ausdruck/Term wie zB "(3+4)*2" oder "length-1" dar.

Events:
Wenn der Ausdruck geändert wird (mit setAusdruck)


Constructor Summary
Ausdruck(java.lang.String ausdruck)
          Erzeugt einen neuen Ausdruck.
 
Method Summary
 Wert auswerten(BenamterWertSammlung variablen)
          Dese Methode wertet den Ausdruck aus und gibt das Ergebnis als Wert zurück.
 java.lang.Class bestimmeTyp(BenamterWertSammlung variablen)
          Diese Methode prüft, ob der Ausdruck korrekt (also ohne Exception) ausgewertet werden könnte und bestimmt den Typ des Ausdrucks.
 void changeListenerEntfernen(ChangeListener l)
          Entfernt den Listener l aus der Liste der Listener dieses Objektes.
 void changeListenerHinzufuegen(ChangeListener l)
          Fügt den Listener l der Sammlung der Listener dieses Objekts hinzu.
 boolean equals(java.lang.Object o)
          Gleichheitstest auf Basis des Ausdrucks (String)
 java.lang.String getAusdruck()
          Gibt den Ausdruck zurück.
 void setAusdruck(java.lang.String ausdruck)
          Setzt den Ausdruck.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Ausdruck

public Ausdruck(java.lang.String ausdruck)
Erzeugt einen neuen Ausdruck.

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

auswerten

public Wert auswerten(BenamterWertSammlung variablen)
               throws FehlerhafterAusdruckException
Dese Methode wertet den Ausdruck aus und gibt das Ergebnis als Wert zurück.

Parameters:
variablen - Diese Sammlung wird benutzt, um Variablen oder Konstanten in dem Ausdruck aufzulösen
Returns:
Das Ergebnis als Wert.
Throws:
java.lang.IllegalArgumentException - Wenn variablen null ist
FehlerhafterAusdruckException - Wenn in dem Ausdruck ein Fehler ist, z.B. fehlende Klammer oder ein unbekannter Bezeichner

bestimmeTyp

public java.lang.Class bestimmeTyp(BenamterWertSammlung variablen)
                            throws FehlerhafterAusdruckException
Diese Methode prüft, ob der Ausdruck korrekt (also ohne Exception) ausgewertet werden könnte und bestimmt den Typ des Ausdrucks.
Es werden aber nur Dinge, die bereits zur Entwicklungszeit geprüft werden können, gecheckt. Dies sind z.B. Syntax des Ausdrucks (Klammern, ...) oder ob alle Bezeichner bekannt sind oder alle Operatoren korrekte Operandentypen haben. Laufzeitspezifische Fehler wie Div durch Null werden nicht geprüft. Es werden lediglich die Typen der Wert-Objekte in der übergebenen Sammlung verwendet, nicht ihr konkreter Inhalt. Es wird der Typ des Ausdrucks zurückgegeben, wenn der Ausdruck nicht korrekt ist, gibts eine Exception

Returns:
Der Typ dieses Ausdrucks
Throws:
FehlerhafterAusdruckException - Wenn der Ausdruck fehlerhaft ist
java.lang.IllegalArgumentException - Wenn variablen null ist

setAusdruck

public void setAusdruck(java.lang.String ausdruck)
Setzt den Ausdruck.

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

getAusdruck

public java.lang.String getAusdruck()
Gibt den Ausdruck zurück.


changeListenerHinzufuegen

public void changeListenerHinzufuegen(ChangeListener l)
Fügt den Listener l der Sammlung der Listener dieses Objekts hinzu.

Specified by:
changeListenerHinzufuegen in interface Beobachtbar
Throws:
java.lang.IllegalArgumentException - Wenn l null ist

changeListenerEntfernen

public void changeListenerEntfernen(ChangeListener l)
Entfernt den Listener l aus der Liste der Listener dieses Objektes.
Wenn l nicht in der Sammlung drin ist, passiert nix.

Specified by:
changeListenerEntfernen in interface Beobachtbar
Throws:
java.lang.IllegalArgumentException - Wenn l null ist

equals

public boolean equals(java.lang.Object o)
Gleichheitstest auf Basis des Ausdrucks (String)

Overrides:
equals in class java.lang.Object