package org.jboss.management.j2ee.statistics;
import javax.management.j2ee.statistics.Statistic;
import javax.management.j2ee.statistics.Stats;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class StatsBase
implements Stats, Serializable
{
private static final long serialVersionUID = 384207297746356032L;
private Map statistics;
public StatsBase()
{
statistics = new HashMap();
}
public StatsBase(Map statistics)
{
this.statistics = statistics;
}
public String[] getStatisticNames()
{
String[] names = new String[statistics.size()];
statistics.keySet().toArray(names);
return names;
}
public Statistic[] getStatistics()
{
Statistic[] stats = new Statistic[statistics.size()];
statistics.values().toArray(stats);
return stats;
}
public Statistic getStatistic(String name)
{
Statistic stat = (Statistic) statistics.get(name);
return stat;
}
public void reset()
{
Iterator iter = statistics.values().iterator();
while (iter.hasNext())
{
Object next = iter.next();
if (next instanceof StatisticImpl)
{
StatisticImpl s = (StatisticImpl) next;
s.reset();
}
}
}
public String toString()
{
return this.getClass().getName() + " [ " + statistics + " ]";
}
public void addStatistic(String name, Statistic statistic)
{
statistics.put(name, statistic);
}
}