2025-11-15 08:49:23 +01:00

71 lines
1.2 KiB
Java

package dev.dinauer.metrics.service.model;
import java.util.Objects;
public class Metric
{
private int count;
private double sum;
private double average;
private Double min;
private Double max;
public Metric()
{
this.count = 0;
this.sum = 0;
this.average = 0.0F;
this.min = null;
this.max = null;
}
public void add(double value)
{
count = count + 1;
sum = sum + value;
average = calculateAverage(sum, count);
if (Objects.isNull(min) || value < min)
{
min = value;
}
if (Objects.isNull(max) || value > max)
{
max = value;
}
}
private double calculateAverage(double sum, int count)
{
if (count == 0)
{
return 0;
}
return sum / count;
}
public int getCount()
{
return count;
}
public double getSum()
{
return sum;
}
public double getAverage()
{
return average;
}
public Double getMin()
{
return min;
}
public Double getMax()
{
return max;
}
}