package spimedb.query; import spimedb.NObject; import spimedb.SpimeDB; import spimedb.index.SearchResult; import java.util.Collection; import java.util.function.Predicate; /** * TODO implement Collection<> */ public class QueryCollection implements Predicate<NObject> { public final Collection<NObject> result; private final Query query; public QueryCollection(Query q, Collection<NObject> result) { super(); this.query = q; this.result = result; } @Override public boolean test(NObject next) { result.add(next); return true; } public QueryCollection get(SpimeDB db) { SearchResult d = db.get(query); if (d!=null) d.forEach((doc, score)->result.add(doc)); return this; } }