Class Handler
- java.lang.Object
-
- de.bsvrz.sys.funclib.bitctrl.interpreter.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 auchHandler
-
-
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, wirdnull
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.
-
-
-
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, wirdnull
geliefert.- Parameters:
operanden
- Die Liste der Operandenindex
- 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
- Operatoroperanden
- 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
- Operatoroperanden
- 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
- Operatoroperanden
- 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
- Operatoroperanden
- Operandenliste- Returns:
- das Ergebnis der Überprüfung
-
-