
Dieses Objekt dient bei erweiterten benutzerdefinierten Funktionen dazu, das Ergebnis der Funktion zurückzugeben. Speichern Sie bei der benutzerdefinierten Funktion die gesamte Queue vor dem Aufruf, geben Sie mit dem Objekt eine Queue zurück, ansonsten eine nur einen Kontext einer Queue.
Methoden des Objekts ResultList
| Methode | Verwendung |
|---|---|
|
void addValue(String value); |
Hängt einen Wert an die Ergebnisliste an. |
|
void addContextChange(); |
Hängt einen Kontextwechsel an die Liste an. Sie können dies auch erreichen, indem Sie mit addValue() die Konstante ResultList.CC anhängen. |
|
void addSuppress(); |
Hängt die Konstante ResultList.SUPPRESS an die Liste. Für solche Einträge wird die Generierung des Zielfeldes und dessen Unterknoten unterdrückt. |
|
void clear(); |
Löscht alle bisher angehängten Werte wieder aus der Liste. |
Sie können Kontextwechsel über die Konstante ResultList.CC im Eingabe-Array ausfindig machen, der der Funktion übergeben wurde, zum Beispiel:
a[index].equals(ResultList.CC)
Folgende Kontextwechsel sind immer implizit vorhanden und nicht Teil der Eingabe-Arrays:
Dieses Beispiel zeigt die Verwendung von ResultList.SUPPRESS, indem die Standardfunktion createIf als erweiterte benutzerdefinierte Funktion nachprogrammiert wird. Diese Standardfunktion arbeitet intern auch mit der SUPPRESS-Konstante:
Wenn man diese Funktion als erweiterte benutzerdefinerte Funktion implementiert, genügt es, einen Kontext vor dem Aufruf von myCreateIf() einzulesen. Die Funktion hat folgenden Quelltext:
public void myCreateIf(String[] a, ResultList result, Container container){
for ( int i = 0; i < a.length; i++ ) { if( a[i].equals("true")) result.addValue( "" );
else result.addSuppress(); }
}