Class 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.
    • Constructor Summary

      Constructors 
      Constructor Description
      Kontext()
      Der Standardkonstruktor initialisiert die interne Streuspeicherabbildung.
      Kontext​(Kontext kontext)
      Kopierkonstruktor.
    • 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()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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 Name null 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, sonst false
      • 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 Name null ist oder nur aus Whitespaces besteht
        SymbolUndefiniertException - 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 Typ null 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 Variable
        wert - Wert der Variable
        Throws:
        InterpreterException - Wenn der Variablenname oder der Wert null ist oder der Variablenname nur aus Whitespaces besteht
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object