package org.jboss.management.j2ee.statistics;
import javax.management.j2ee.statistics.Statistic;
import java.io.Serializable;
public abstract class StatisticImpl
implements Statistic, Serializable
{
private static final long serialVersionUID = -3427364348020739916L;
protected String name;
protected String units;
protected String description;
protected long startTime;
protected long lastSampleTime;
public StatisticImpl(String name, String units, String description)
{
this.name = name;
this.units = units;
this.description = description;
this.startTime = System.currentTimeMillis();
}
public String getName()
{
return name;
}
public String getUnit()
{
return units;
}
public String getDescription()
{
return description;
}
public long getStartTime()
{
return startTime;
}
public long getLastSampleTime()
{
return lastSampleTime;
}
public void reset()
{
startTime = System.currentTimeMillis();
lastSampleTime = startTime;
}
public void set()
{
lastSampleTime = System.currentTimeMillis();
}
public String toString()
{
StringBuffer tmp = new StringBuffer(name);
tmp.append('(');
tmp.append("description: ");
tmp.append(description);
tmp.append(", units: ");
tmp.append(units);
tmp.append(", startTime: ");
tmp.append(startTime);
tmp.append(", lastSampleTime: ");
tmp.append(lastSampleTime);
tmp.append(')');
return tmp.toString();
}
}