Class Operator
- java.lang.Object
-
- de.bsvrz.sys.funclib.bitctrl.interpreter.Operator
-
public final class Operator extends java.lang.Object
Implementiert jedes Operatorsymbol als Entwurfsmuster Singleton. Jedes Operatorsymbol kann abhängig vom Kontext im Ausdruck eine andere Operation darstellen. Deshalb führt jeder Operator eine Liste vonHandler
die ihn behandeln können.
-
-
Method Summary
Modifier and Type Method Description static boolean
enthaelt(java.lang.String symbol)
ermiitelt, ob in der Menge der Operatoren ein Operator mit dem gegebenen Namen existiert..boolean
equals(java.lang.Object obj)
java.lang.Object
execute(java.lang.Object... werte)
Wendet den Operator auf die Liste der Operanden an.java.lang.Object
execute(java.util.List<?> werte)
Wendet den Operator auf die Menge der Operanden an.static Operator
getOperator(java.lang.String symbol)
Gibt den Operator zu einem Symbol zurück.java.lang.String
getSymbol()
Gibt das Symbol des Operators zurück.int
hashCode()
static void
registerHandler(Handler handler)
Registriert einen Handler.java.lang.String
toString()
-
-
-
Method Detail
-
enthaelt
public static boolean enthaelt(java.lang.String symbol)
ermiitelt, ob in der Menge der Operatoren ein Operator mit dem gegebenen Namen existiert..- Parameters:
symbol
- Operationsymbol- Returns:
- true, wenn der Operator existiert
-
getOperator
public static Operator getOperator(java.lang.String symbol)
Gibt den Operator zu einem Symbol zurück. Der Operator wird neu erzeugt, wenn das Symbol noch unbekannt ist.- Parameters:
symbol
- Operationsymbol- Returns:
- Operator
-
registerHandler
public static void registerHandler(Handler handler)
Registriert einen Handler. Der Handler wird in die jeweiligen Listen der von ihm unterstützten Operatoren eingetragen.- Parameters:
handler
- Handler
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
execute
public java.lang.Object execute(java.util.List<?> werte)
Wendet den Operator auf die Menge der Operanden an. Die Operanden werden von links nach rechts bzw. in der Reihenfolge der Iteration abgearbeitet. Wenn kein passender Handler gefunden wurde, wird eineInterpreterException
geworfen.- Parameters:
werte
- Menge von Operanden- Returns:
- Ergebnis der Operation
-
execute
public java.lang.Object execute(java.lang.Object... werte)
Wendet den Operator auf die Liste der Operanden an. Die Operanden werden von links nach rechts bzw. in der Reihenfolge der Iteration abgearbeitet. Wenn kein passender Handler für die Operation gefunden wird, wird eineInterpreterException
geworfen.- Parameters:
werte
- Menge von Operanden- Returns:
- Ergebnis der Operation
-
getSymbol
public java.lang.String getSymbol()
Gibt das Symbol des Operators zurück.- Returns:
- Operatorsymbol
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-