package hudson.plugins.performance;
import org.kohsuke.stapler.Stapler;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;
/**
* Abstract class for classes with size, error, min and max attributes
*/
public abstract class AbstractReport {
private NumberFormat percentFormat;
private NumberFormat dataFormat;
abstract public int countErrors();
abstract public double errorPercent();
public AbstractReport() {
if (Stapler.getCurrentRequest() != null) {
Locale.setDefault(Stapler.getCurrentRequest().getLocale());
}
percentFormat = new DecimalFormat("0.0");
dataFormat = new DecimalFormat("#,###");
}
public String errorPercentFormated() {
Stapler.getCurrentRequest().getLocale();
return percentFormat.format(errorPercent());
}
abstract public long getAverage();
public String getAverageFormated() {
return dataFormat.format(getAverage());
}
abstract public long getMax();
public String getMaxFormated(){
return dataFormat.format(getMax());
}
abstract public long getMin();
abstract public int size();
}