package com.scaleunlimited.cascading;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class FlowResult {
private Map<String, Long> _counters;
public FlowResult(Map<String, Long> counters) {
_counters = counters;
}
public Map<String, Long> getCounters() {
return _counters;
}
@SuppressWarnings("rawtypes")
public long getCounterValue(Enum counter) {
Long result = _counters.get(FlowCounters.getCounterKey(counter));
return (result == null) ? 0 : result;
}
public long getCounterValue(String group, String counter) {
Long result = _counters.get(FlowCounters.getCounterKey(group, counter));
return (result == null) ? 0 : result;
}
public Map<String, Long> getGroupCounterValues(String group) {
Map<String, Long>result = new HashMap<String, Long>();
for (Entry<String, Long> entry : _counters.entrySet()) {
String counterName =
FlowCounters.getCounterNameFromCounterKey(entry.getKey(), group);
if (counterName != null) {
result.put(counterName, entry.getValue());
}
}
return result;
}
}