package com.googlecode.totallylazy.io;
import com.googlecode.totallylazy.Sequence;
import com.googlecode.totallylazy.predicates.Predicate;
import java.io.IOException;
public class FilterSource implements Sources {
private final Predicate<? super Source> predicate;
private final Sources sources;
private FilterSource(Predicate<? super Source> predicate, Sources sources) {
this.predicate = predicate;
this.sources = sources;
}
public static FilterSource filterSource(Predicate<? super Source> predicate, Sources sources) {
return new FilterSource(predicate, sources);
}
@Override
public Sequence<Source> sources() {
return sources.sources().filter(predicate);
}
@Override
public void close() throws IOException {
sources.close();
}
}