package com.alipay.bluewhale.core.stats.incval; import java.util.HashMap; import java.util.Map; import com.alipay.bluewhale.core.callback.RunnableCallback; import com.alipay.bluewhale.core.stats.RollingWindow.UpdateParams; import com.alipay.bluewhale.core.stats.method.StatFunction; public class IncValUpdater extends RunnableCallback { @SuppressWarnings("unchecked") @Override public <T> Object execute(T... args) { Map<Object, Long> curr = null; if (args != null && args.length > 0) { UpdateParams p = (UpdateParams) args[0]; if (p.curr != null) { curr = (Map<Object, Long>) p.curr; } else { curr = new HashMap<Object, Long>(); } Object[] incArgs = p.args; Long amt = 1l; if (incArgs.length > 1) { amt = Long.parseLong(String.valueOf(incArgs[1])); } StatFunction.incr_val(curr, incArgs[0], amt); } return curr; } }