Class Handler

  • Direct Known Subclasses:
    LogikHandler

    public abstract class Handler
    extends java.lang.Object
    Schnittstelle für alle Klassen die Operationen des Interpreters implementieren. Statt jeder Operation eine eigene Klasse zu geben, werden mit Hilfe des Musters Besucher alle Operationen in einer Klasse gebündelt. Neue Operationen können durch implementieren dieser Schnittstelle definiert werden. Siehe auch Handler
    • Constructor Summary

      Constructors 
      Constructor Description
      Handler()  
    • Method Summary

      Modifier and Type Method Description
      abstract Operator[] getHandledOperators()
      Gibt die Liste der Operatoren zurück, die der Handler verarbeiten kann.
      static java.lang.Object getOperand​(java.util.List<?> operanden, int index)
      Liefert den n-ten Operanden aus einer Liste von Operanden.
      Wenn die Liste weniger Operanden enthält, wird null geliefert.
      java.lang.Object perform​(Operator operator, java.lang.Object... operanden)
      Führt eine Operation mit dem Operanden aus.
      abstract java.lang.Object perform​(Operator operator, java.util.List<?> operanden)
      Führt eine Operation mit der Liste der Operanden aus.
      protected HandlerValidation validiereHandler​(Operator operator, java.lang.Object... operanden)
      Prüft ob der Handler die angegebene Operation auf dem Operanden anwenden kann.
      protected abstract HandlerValidation validiereHandler​(Operator operator, java.util.List<?> operanden)
      Prüft ob der Handler die angegebene Operation auf Liste der Operanden anwenden kann.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Handler

        public Handler()
    • Method Detail

      • getOperand

        public static java.lang.Object getOperand​(java.util.List<?> operanden,
                                                  int index)
        Liefert den n-ten Operanden aus einer Liste von Operanden.
        Wenn die Liste weniger Operanden enthält, wird null geliefert.
        Parameters:
        operanden - Die Liste der Operanden
        index - Der Index des gesuchten Operanden
        Returns:
        Den Operand oder null
      • getHandledOperators

        public abstract Operator[] getHandledOperators()
        Gibt die Liste der Operatoren zurück, die der Handler verarbeiten kann.
        Returns:
        Liste von Operatoren
      • perform

        public abstract java.lang.Object perform​(Operator operator,
                                                 java.util.List<?> operanden)
        Führt eine Operation mit der Liste der Operanden aus. Die Liste der Operanden wird entsprechend der Ordung des Iterators abgearbeitet.
        Parameters:
        operator - Operator
        operanden - Liste der Operanden
        Returns:
        Wert der Operation, abhängig von Operator und Operanden
      • perform

        public java.lang.Object perform​(Operator operator,
                                        java.lang.Object... operanden)
        Führt eine Operation mit dem Operanden aus.
        Parameters:
        operator - Operator
        operanden - Operandenliste
        Returns:
        Wert der Operation, abhängig von Operator und Operand
      • validiereHandler

        protected abstract HandlerValidation validiereHandler​(Operator operator,
                                                              java.util.List<?> operanden)
        Prüft ob der Handler die angegebene Operation auf Liste der Operanden anwenden kann.
        Parameters:
        operator - Operator
        operanden - Liste von Operanden
        Returns:
        das Ergebnis der Überprüfung
      • validiereHandler

        protected HandlerValidation validiereHandler​(Operator operator,
                                                     java.lang.Object... operanden)
        Prüft ob der Handler die angegebene Operation auf dem Operanden anwenden kann.
        Parameters:
        operator - Operator
        operanden - Operandenliste
        Returns:
        das Ergebnis der Überprüfung