package tutorial.storm.trident.operations; import backtype.storm.tuple.Values; import storm.trident.operation.BaseFunction; import storm.trident.operation.TridentCollector; import storm.trident.tuple.TridentTuple; import java.io.Serializable; /** * @author Enno Shioji ([email protected]) */ public class WithDefaultValue<T extends Serializable> extends BaseFunction{ private final T t; public WithDefaultValue(T t) { this.t = t; } @Override public void execute(TridentTuple tuple, TridentCollector collector) { if(tuple.get(0) == null){ collector.emit(new Values(t)); }else{ collector.emit(new Values(tuple.get(0))); } } }