package org.safehaus.penrose.statistic;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Collection;
/**
* @author Endi Sukma Dewata
*/
public class StatisticManager {
public final static String ABANDON = "abandon";
public final static String ADD = "add";
public final static String BIND = "bind";
public final static String COMPARE = "compare";
public final static String DELETE = "delete";
public final static String MODIFY = "modify";
public final static String MODRDN = "modrdn";
public final static String SEARCH = "search";
public final static String UNBIND = "unbind";
public Map<String,Statistic> statistics = new LinkedHashMap<String,Statistic>();
public StatisticManager() {
addStatistic(new Statistic(ABANDON));
addStatistic(new Statistic(ADD));
addStatistic(new Statistic(BIND));
addStatistic(new Statistic(COMPARE));
addStatistic(new Statistic(DELETE));
addStatistic(new Statistic(MODIFY));
addStatistic(new Statistic(MODRDN));
addStatistic(new Statistic(SEARCH));
addStatistic(new Statistic(UNBIND));
}
public void addStatistic(Statistic statistic) {
statistics.put(statistic.getName(), statistic);
}
public Collection<String> getStatisticNames() {
return statistics.keySet();
}
public Statistic getStatistic(String name) {
return statistics.get(name);
}
public void incrementCounter(String name) {
Statistic statistic = getStatistic(name);
if (statistic == null) return;
statistic.incrementCounter();
}
}