public class RewriterJoinFilter extends ClazzJoinFilter
JoinFilter
, der bestimmte Wege waehrend des aktuellen
Join-Laufs zusaetzlich in ein neues Verzeichnis schreibt.
Das Ausgabeformat entspricht wiederum dem des Joiner
s, so dass es von
einem Merger
oder Segmenter
weiterverarbeitet werden kann.Props
werden akzeptiert:
ClazzJoinFilter
, reicht aber das Ergebnis von
ClazzJoinFilter.validate(Way)
nicht nach aussen, sondern benutzt es
lediglich fuer die Entscheidung, ob dieser Weg in Betracht kommt.
Dieser Filter liefert daher immer true
zurueck.extract
auf true
gesetzt,
so liefert dieser Filter false
, was die Weiterverarbeitung im
gerade laufenden Joiner
unterbindet. Dies betrifft jedoch nur die
Wege, die aufgrund ihrer Clazz hier verarbeitet werden sollen.
tiledInto(int, boolean)
statt,
und nicht bei validate(Way)
. Vorsicht also bei Einsatz eines
ForkJoinFilter
s. Fuer diesen sollte ggf. shortEval
gesetzt sein. Insbesondere kann es kompliziert werden, wenn zudem
extract
auf true
steht.PROP_PREFIX
Constructor and Description |
---|
RewriterJoinFilter() |
Modifier and Type | Method and Description |
---|---|
void |
close()
Schliesst und bietet die Moeglichkeit, resourcen
aufzuraeumen.
|
void |
open(Config config,
java.lang.String prefix)
Wird einmalig nach der Instanziierung aufgerufen.
|
void |
tiledInto(int tileId,
boolean written)
Wird immer nach
JoinFilter.validate(Way) aufgerufen und informiert darueber,
welches Tile der Joiner dem Way zugeordnet hat,
bzw. ob der Weg ueberhaupt geschrieben wurde. |
boolean |
validate(Way way)
Kritischer Callback, der einen Verweis auf den gerade
zusammengestellten Weg uebergibt und somit alle
Tueren fuer letzte Manipulationen vorm endgueltigen
Rausschreiben oeffnet.
|
public void open(Config config, java.lang.String prefix)
JoinFilter
open
in interface JoinFilter
open
in class ClazzJoinFilter
config
- Config
Konfiguration.prefix
- String Property-Prefix ohne Punkt-Trenner NULLABLE.ForkJoinFilter
public boolean validate(Way way)
JoinFilter
validate
in interface JoinFilter
validate
in class ClazzJoinFilter
way
- Way
public void tiledInto(int tileId, boolean written)
JoinFilter
JoinFilter.validate(Way)
aufgerufen und informiert darueber,
welches Tile
der Joiner
dem Way
zugeordnet hat,
bzw. ob der Weg ueberhaupt geschrieben wurde.tiledInto
in interface JoinFilter
tiledInto
in class ClazzJoinFilter
tileId
- int ID des Tiles oder -1 wenn Shared, bzw. -2 wenn orphaned-shared.written
- true: Way
wurde vom Joiner
geschrieben.public void close()
JoinFilter
close
in interface JoinFilter
close
in class ClazzJoinFilter