/*
* Copyright (c) 2017 OBiBa. All rights reserved.
*
* This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.obiba.magma.math;
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
import org.obiba.magma.Value;
import org.obiba.magma.VariableValueSource;
/**
* A default implementation of {@code DescriptiveStatisticsProvider} that will exclude all null values from the
* statistical summary. All other values are considered.
*/
public class DefaultDescriptiveStatisticsProvider extends AbstractDescriptiveStatisticsProvider {
@Override
protected void processValue(VariableValueSource valueSource, Value value, DescriptiveStatistics stats) {
if(!value.isNull()) {
stats.addValue(((Number) value.getValue()).doubleValue());
}
}
}