Ausgabesteuerung
Wann und wie collectors die gesammelten Werte weiterschicken, kann mit
Hilfe von drei Parametern definiert werden: flushWith
, reset
und
sameEntity
.
flushWith
definiert den Zeitpunkt, zu welchem der collector die Werte
abschickt (flush). Dies kann entweder nach der Verarbeitung eines bestimmten Feldes (flushWith="feldname"
, Wildcards erlaubt) oder des gesamten Datensatzes sein (flushWith="record"
). Im Fall von combine
, entity
, equalsFilter
sowie den Quantoren all
, any
und none
werden die gesammelten Werte standardmässig weitergeleitet, sobald für jedes Feld ein Wert vorhanden ist.
In einem collector gesammelte Werte werden nicht weitergeleitet, wenn
die flushWith
-Bedingung nicht eintritt. Dies ist der Fall, wenn
- der angegbene Feldname nicht vorhanden ist oder
- bei Standardeinstellung von
combine
,entity
,equalsFilter
,all
,any
undnone
der collector nicht gefüllt werden kann collector bis Ende des Datensatzes nicht gefüllt wird
Enthält ein collector keine Werte bei Eintreffen der
flushWith
-Bedingung, passiert ebenfalls nichts.
reset
löscht alle gesammelten Werte, nachdem diese weitergeleitet wurden.
Ist reset="false"
, werden also nach einem erstmaligen flush die aktuell
im collector gespeicherten Werte bei jedem neu gesammelten Wert
von Neuem abgeschickt!
sameEntity
leitet nur Werte weiter, die in derselben Literalgruppe (entity) gesammelt wurden. Ist die Literalgruppe fertig prozessiert, ohne dass für jedes Feld ein Wert vorhanden ist, werden die gespeicherten Werte weggeworfen. Der reset-Mechanismus wird anderseits bei sameEntity="true"
unabhängig von der Einstellung des reset
-Paraemters ausgelöst, konnte die flush-Bedingung in einer Literalgruppe erfüllt werden.
Im Fall von combine
überschreiben neue ältere Werte des
gleichen Datenfeldes.
Standardeinstellungen für flushWith
, reset
und sameEntity
Collector | flushWith | reset | sameEntity |
---|---|---|---|
combine |
wenn vollständig | false |
false |
concat |
record |
true |
false |
entity |
wenn vollständig | false |
false |
squares |
record |
true |
entfällt |
tuples |
record |
entfällt | entfällt |
group |
entfällt | entfällt | entfällt |
choose |
record |
true |
false |
range |
record |
false |
false |
equalsFilter |
wenn vollständig | false |
false |
all |
wenn vollständig | false |
false |
any |
wenn vollständig | false |
false |
none |
wenn vollständig | false |
false |