package org.calrissian.flowmix.api.storm.spout;
import java.util.Collection;
import backtype.storm.spout.SpoutOutputCollector;
import backtype.storm.topology.OutputFieldsDeclarer;
import backtype.storm.topology.base.BaseRichSpout;
import backtype.storm.tuple.Fields;
import backtype.storm.tuple.Values;
import org.calrissian.flowmix.api.Flow;
import static org.calrissian.flowmix.core.Constants.FLOW_LOADER_STREAM;
public abstract class FlowLoaderBaseSpout extends BaseRichSpout {
@Override
public void declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer) {
outputFieldsDeclarer.declareStream(FLOW_LOADER_STREAM, new Fields("flows"));
}
protected void emitFlows(SpoutOutputCollector collector, Collection<Flow> flows) {
collector.emit(FLOW_LOADER_STREAM, new Values(flows));
}
}