Class Operator
- java.lang.Object
-
- de.bsvrz.sys.funclib.bitctrl.interpreter.Operator
-
public final class Operator extends java.lang.ObjectImplementiert 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 vonHandlerdie ihn behandeln können.
-
-
Method Summary
Modifier and Type Method Description static booleanenthaelt(java.lang.String symbol)ermiitelt, ob in der Menge der Operatoren ein Operator mit dem gegebenen Namen existiert..booleanequals(java.lang.Object obj)java.lang.Objectexecute(java.lang.Object... werte)Wendet den Operator auf die Liste der Operanden an.java.lang.Objectexecute(java.util.List<?> werte)Wendet den Operator auf die Menge der Operanden an.static OperatorgetOperator(java.lang.String symbol)Gibt den Operator zu einem Symbol zurück.java.lang.StringgetSymbol()Gibt das Symbol des Operators zurück.inthashCode()static voidregisterHandler(Handler handler)Registriert einen Handler.java.lang.StringtoString()
-
-
-
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:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin 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 eineInterpreterExceptiongeworfen.- 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 eineInterpreterExceptiongeworfen.- 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:
toStringin classjava.lang.Object
-
-