package org.gcube.data.spd.manager.search.workers; import org.gcube.data.spd.manager.search.Worker; import org.gcube.data.spd.plugin.fwk.writers.ClosableWriter; import org.gcube.data.spd.plugin.fwk.writers.ObjectWriter; import org.gcube.dataaccess.spd.havingengine.HavingStatement; public class HavingFilterWorker extends Worker { private HavingStatement having; public HavingFilterWorker(ClosableWriter writer, HavingStatement having) { super(writer); this.having = having; } @Override protected void execute(T input, ObjectWriter outputWriter) { if (having.accept(input)) outputWriter.write(input); else logger.trace("object discarded by having clause"); } }