Class Kontext
- java.lang.Object
-
- de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext
-
public class Kontext extends java.lang.ObjectKontext eines Ausdrucks. Speichert alle Variablen in einer Menge.
-
-
Field Summary
Fields Modifier and Type Field Description static NamensprueferprueferPrüfklasse die Symbolnamen auf ihre Gültigkeit testet.
-
Method Summary
Modifier and Type Method Description voidaddKontext(Kontext neu)Fügt den Inhalt eines Kontextes hinzu.booleanenthaelt(java.lang.String name)Schaut nach, ob im Kontext eine bestimmte Variable existiert.java.lang.Objectget(java.lang.String name)Liefert den Wert einer Variable.<T> Tget(java.lang.String name, java.lang.Class<? extends T>... typ)Liefert den Wert einer Variable und prüft gleichzeitig deren Typ.java.util.Set<java.lang.String>getVariablen()Gibt alle im Kontext enthaltenen Variablenname zurück.static voidpruefeName(java.lang.String name)Prüft ob der String ein gültiger Variablenname ist.voidset(java.lang.String name, java.lang.Object wert)Setzt den Wert einer Variable.java.lang.StringtoString()
-
-
-
Field Detail
-
pruefer
public static final Namenspruefer pruefer
Prüfklasse die Symbolnamen auf ihre Gültigkeit testet.
-
-
Constructor Detail
-
Kontext
public Kontext()
Der Standardkonstruktor initialisiert die interne Streuspeicherabbildung.
-
Kontext
public Kontext(Kontext kontext)
Kopierkonstruktor.- Parameters:
kontext- Ein anderer Kontext, dessen Inhalt in den neuen kopiert wird
-
-
Method Detail
-
pruefeName
public static void pruefeName(java.lang.String name)
Prüft ob der String ein gültiger Variablenname ist. Es wird nicht geprüft, ob die Variable existiert, nur ob der Name den Regeln entspricht.- Parameters:
name- Zu prüfender Variablenname- Throws:
InterpreterException- Wenn der Namenullist oder nur aus Leerzeichen besteht
-
addKontext
public void addKontext(Kontext neu)
Fügt den Inhalt eines Kontextes hinzu.- Parameters:
neu- Zu kopierender Kontext
-
enthaelt
public boolean enthaelt(java.lang.String name)
Schaut nach, ob im Kontext eine bestimmte Variable existiert.- Parameters:
name- Name der Variable- Returns:
true, wenn die Variable existiert, sonstfalse
-
get
public java.lang.Object get(java.lang.String name)
Liefert den Wert einer Variable.- Parameters:
name- Name der Variablen- Returns:
- Wert der Variable
- Throws:
InterpreterException- Wenn der Namenullist oder nur aus Whitespaces bestehtSymbolUndefiniertException- Wenn zu dem Namen keine Variable im Kontext existiert
-
get
public <T> T get(java.lang.String name, java.lang.Class<? extends T>... typ)Liefert den Wert einer Variable und prüft gleichzeitig deren Typ.- Type Parameters:
T- Der Typ der Variable im Kontext.- Parameters:
name- der Name der Variablen.typ- der Typ, den die Variable haben soll.- Returns:
- den Wert der Variable.
- Throws:
InterpreterException- Wenn der Variablenname oder der Typnullist, der Variablenname nur aus Whitespaces betsteht oder der Typ der Variable nicht korrekt ist.
-
getVariablen
public java.util.Set<java.lang.String> getVariablen()
Gibt alle im Kontext enthaltenen Variablenname zurück.- Returns:
- kontext Menge von Name/Wert-Paaren
-
set
public void set(java.lang.String name, java.lang.Object wert)Setzt den Wert einer Variable.- Parameters:
name- Name der Variablewert- Wert der Variable- Throws:
InterpreterException- Wenn der Variablenname oder der Wertnullist oder der Variablenname nur aus Whitespaces besteht
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-