![JAR search and dependency download from the Maven repository](/logo.png)
ca.odell.glazedlists.calculation.Sum Maven / Gradle / Ivy
/* Glazed Lists (c) 2003-2007 */
/* http://publicobject.com/glazedlists/ publicobject.com,*/
/* O'Dell Engineering Ltd.*/
package ca.odell.glazedlists.calculation;
import ca.odell.glazedlists.EventList;
/**
* Reports the sum total of the numeric elements within the backing EventList
* as the value of these Calculations.
*
* @author James Lemieux
*/
final class Sum {
static final class SumFloat extends AbstractEventListCalculation {
public SumFloat(EventList source) {
super(new Float(0), source);
}
@Override
protected void inserted(Number element) { setValue(new Float(getValue().floatValue() + element.floatValue())); }
@Override
protected void deleted(Number element) { setValue(new Float(getValue().floatValue() - element.floatValue())); }
@Override
protected void updated(Number oldElement, Number newElement) { setValue(new Float(getValue().floatValue() - oldElement.floatValue() + newElement.floatValue())); }
}
static final class SumDouble extends AbstractEventListCalculation {
public SumDouble(EventList source) {
super(new Double(0), source);
}
@Override
protected void inserted(Number element) { setValue(new Double(getValue().doubleValue() + element.doubleValue())); }
@Override
protected void deleted(Number element) { setValue(new Double(getValue().doubleValue() - element.doubleValue())); }
@Override
protected void updated(Number oldElement, Number newElement) { setValue(new Double(getValue().doubleValue() - oldElement.doubleValue() + newElement.doubleValue())); }
}
static final class SumInteger extends AbstractEventListCalculation {
public SumInteger(EventList source) {
super(new Integer(0), source);
}
@Override
protected void inserted(Number element) { setValue(new Integer(getValue().intValue() + element.intValue())); }
@Override
protected void deleted(Number element) { setValue(new Integer(getValue().intValue() - element.intValue())); }
@Override
protected void updated(Number oldElement, Number newElement) { setValue(new Integer(getValue().intValue() - oldElement.intValue() + newElement.intValue())); }
}
static final class SumLong extends AbstractEventListCalculation {
public SumLong(EventList source) {
super(new Long(0), source);
}
@Override
protected void inserted(Number element) { setValue(new Long(getValue().longValue() + element.longValue())); }
@Override
protected void deleted(Number element) { setValue(new Long(getValue().longValue() - element.longValue())); }
@Override
protected void updated(Number oldElement, Number newElement) { setValue(new Long(getValue().longValue() - oldElement.longValue() + newElement.longValue())); }
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy