package storm.contrib.spring.topology.component.grouping; import backtype.storm.topology.BoltDeclarer; import backtype.storm.tuple.Fields; import backtype.storm.utils.Utils; /** * [Class Description] * * @author Grant Henke * @since 12/4/12 */ public class FieldsBoltGrouping implements IBoltGrouping { private final String componentId; private final String streamId; private final Fields fields; public FieldsBoltGrouping(final String componentId, final String streamId, final Fields fields) { this.componentId = componentId; this.streamId = streamId; this.fields = fields; } public FieldsBoltGrouping(final String componentId, final Fields fields) { this(componentId, Utils.DEFAULT_STREAM_ID, fields); } public String getComponentId() { return componentId; } public String getStreamId() { return streamId; } public Fields getFields() { return fields; } public void addToBolt(final BoltDeclarer boltDeclarer) { if (streamId == null) { boltDeclarer.fieldsGrouping(componentId, fields); } else { boltDeclarer.fieldsGrouping(componentId, streamId, fields); } } }