package com.github.shansun.sparrow.actor.statistic;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* @author: lanbo <br>
* @version: 1.0 <br>
* @date: 2012-8-13
*/
public class StatsImpl implements Stats {
private final Map<String, Statistic> stats = new ConcurrentHashMap<String, Statistic>();
@Override
public void addStat(String name, Statistic statistic) {
stats.put(name, statistic);
}
@Override
public void removeStat(String name) {
stats.remove(name);
}
@Override
public Statistic getStatistic(String paramString) {
return (Statistic) stats.get(paramString);
}
@Override
public Statistic[] getStatistics() {
String[] names = getStatisticNames();
Statistic[] result = new Statistic[names.length];
for (int i = 0; i < names.length; i++) {
result[i] = (Statistic) stats.get(names[i]);
}
return result;
}
@Override
public String[] getStatisticNames() {
return (String[]) stats.keySet().toArray(new String[stats.size()]);
}
}