package nl.ipo.cds.etl;
public class FilteringFeatureOutputStream<InputType extends Feature, OutputType extends Feature> implements FeatureOutputStream<InputType> {
private final FeatureFilter<InputType, OutputType> filter;
private final FeatureOutputStream<OutputType> outputStream;
private final FeatureOutputStream<Feature> errorStream;
public FilteringFeatureOutputStream (final FeatureFilter<InputType, OutputType> filter, final FeatureOutputStream<OutputType> outputStream, final FeatureOutputStream<Feature> errorStream) {
this.filter = filter;
this.outputStream = outputStream;
this.errorStream = errorStream;
}
@Override
public void writeFeature (final InputType feature) {
filter.processFeature (feature, outputStream, errorStream);
}
}