Class MengenIterationsBedingung
- java.lang.Object
-
- de.bsvrz.ibv.uda.interpreter.anweisung.iteration.MengenIterationsBedingung
-
- All Implemented Interfaces:
IterationsBedingung
,de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck
public class MengenIterationsBedingung extends java.lang.Object implements IterationsBedingung
Iterationsbedingung für die Iteration über eine Menge.
Die Bedingung wird für Iterationen verwendet, in denen jedes Objekt aus einer übergebenen Menge bewertet wird.
-
-
Constructor Summary
Constructors Constructor Description MengenIterationsBedingung(Variable variable, de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck menge)
Konstruktor.
-
Method Summary
Modifier and Type Method Description java.lang.String
getLaufVariable()
liefert den Namen der Laufvariable, die in der Bedingung verwendet wird oder null, wenn keine solche existiert.java.util.List<de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck>
getNachfolger()
.de.bsvrz.sys.funclib.bitctrl.interpreter.logik.LogischerWert
interpret(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext kontext)
.
Die Funktion wertet im ersten Schritt den Ausdruck für die Beschreibung der Menge aus.boolean
isGueltig(SkriptKontext kontext)
ermittelt, ob die betreffende Bedingung gültig ist.void
reset()
setzt die intern gespeicherten Informationen einer Iterationsbedingung zurück.
-
-
-
Constructor Detail
-
MengenIterationsBedingung
public MengenIterationsBedingung(Variable variable, de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck menge)
Konstruktor.- Parameters:
variable
- die Variable für den Zugriff auf die Elemente der Mengemenge
- der Ausdruck für die Beschreibung der Menge
-
-
Method Detail
-
getLaufVariable
public java.lang.String getLaufVariable()
liefert den Namen der Laufvariable, die in der Bedingung verwendet wird oder null, wenn keine solche existiert..- Specified by:
getLaufVariable
in interfaceIterationsBedingung
- Returns:
- den Namen ode null
- See Also:
IterationsBedingung.getLaufVariable()
-
getNachfolger
public java.util.List<de.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck> getNachfolger()
.- Specified by:
getNachfolger
in interfacede.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck
- See Also:
Ausdruck.getNachfolger()
-
interpret
public de.bsvrz.sys.funclib.bitctrl.interpreter.logik.LogischerWert interpret(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext kontext)
.
Die Funktion wertet im ersten Schritt den Ausdruck für die Beschreibung der Menge aus. Die Auswertung des Ausdrucks muss einen Container liefern für den ein Iterator gebildet wird. Gültige Containerobjekte sind:- Felder
- Listen
- Schlüsselmengen
- Mengenobjekte (ObjectSet aus der Abfrag der Datenverteilerkonfiguration)
Das Objekt auf das der Iterator zeigt wird jeweils an die definierte Variable übergeben. Die Funktion liefert solange den Wert "wahr" bis der Iterator nicht mehr auf ein gültiges Element plaziert ist.- Specified by:
interpret
in interfacede.bsvrz.sys.funclib.bitctrl.interpreter.Ausdruck
- Parameters:
kontext
- der Kontext, in dem der Ausdruck ausgewertet wird- Returns:
- einen
LogischerWert
, der den Wert der Bedingung darstellt - See Also:
Ausdruck.interpret(de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext)
-
isGueltig
public boolean isGueltig(SkriptKontext kontext)
ermittelt, ob die betreffende Bedingung gültig ist..- Specified by:
isGueltig
in interfaceIterationsBedingung
- Parameters:
kontext
- der Kontext für die üÜberprüfung der Gültigkeit- Returns:
- die Gültigkeit der Bedingung
- See Also:
IterationsBedingung.isGueltig(de.bsvrz.ibv.uda.interpreter.daten.SkriptKontext)
-
reset
public void reset()
setzt die intern gespeicherten Informationen einer Iterationsbedingung zurück..
Der Iterator für das Durchlaufen der Menge wird entfernt.- Specified by:
reset
in interfaceIterationsBedingung
- See Also:
IterationsBedingung.reset()
-
-