Class Kontext
- java.lang.Object
-
- de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext
-
public class Kontext extends java.lang.Object
Kontext eines Ausdrucks. Speichert alle Variablen in einer Menge.
-
-
Field Summary
Fields Modifier and Type Field Description static Namenspruefer
pruefer
Prüfklasse die Symbolnamen auf ihre Gültigkeit testet.
-
Method Summary
Modifier and Type Method Description void
addKontext(Kontext neu)
Fügt den Inhalt eines Kontextes hinzu.boolean
enthaelt(java.lang.String name)
Schaut nach, ob im Kontext eine bestimmte Variable existiert.java.lang.Object
get(java.lang.String name)
Liefert den Wert einer Variable.<T> T
get(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 void
pruefeName(java.lang.String name)
Prüft ob der String ein gültiger Variablenname ist.void
set(java.lang.String name, java.lang.Object wert)
Setzt den Wert einer Variable.java.lang.String
toString()
-
-
-
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 Namenull
ist 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 Namenull
ist 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 Typnull
ist, 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 Wertnull
ist oder der Variablenname nur aus Whitespaces besteht
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-