27 lines
932 B
Java
27 lines
932 B
Java
package net.sf.jasperreports.engine.fill;
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
class JRBigDecimalAverageIncrementer extends JRAbstractExtendedIncrementer {
|
|
private static JRBigDecimalAverageIncrementer mainInstance = new JRBigDecimalAverageIncrementer();
|
|
|
|
public static JRBigDecimalAverageIncrementer getInstance() {
|
|
return mainInstance;
|
|
}
|
|
|
|
public Object increment(JRCalculable variable, Object expressionValue, AbstractValueProvider valueProvider) {
|
|
if (expressionValue == null) {
|
|
if (variable.isInitialized())
|
|
return null;
|
|
return variable.getValue();
|
|
}
|
|
BigDecimal countValue = (BigDecimal)valueProvider.getValue(variable.getHelperVariable((byte)0));
|
|
BigDecimal sumValue = (BigDecimal)valueProvider.getValue(variable.getHelperVariable((byte)1));
|
|
return sumValue.divide(countValue, 4);
|
|
}
|
|
|
|
public Object initialValue() {
|
|
return JRBigDecimalIncrementerFactory.ZERO;
|
|
}
|
|
}
|