![JAR search and dependency download from the Maven repository](/logo.png)
com.github.TKnudsen.ComplexDataObject.model.processors.complexDataObject.MaximumLimiter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of complex-data-object Show documentation
Show all versions of complex-data-object Show documentation
A library that models real-world objects in Java, referred to as ComplexDataObjects. Other features: IO and preprocessing of ComplexDataObjects.
The newest version!
package com.github.TKnudsen.ComplexDataObject.model.processors.complexDataObject;
import java.util.Arrays;
import java.util.List;
import com.github.TKnudsen.ComplexDataObject.data.complexDataObject.ComplexDataContainer;
import com.github.TKnudsen.ComplexDataObject.data.complexDataObject.ComplexDataObject;
/**
*
* Title: MaximumLimiter
*
*
*
* Description:
*
*
*
* Copyright: Copyright (c) 2017
*
*
* @author Juergen Bernard
* @version 1.01
*/
public class MaximumLimiter implements IComplexDataObjectProcessor {
private String attribute;
private Number maximum;
public MaximumLimiter() {
}
public MaximumLimiter(Number maximum) {
this.maximum = maximum;
}
public MaximumLimiter(String attribute, Number maximum) {
this.attribute = attribute;
this.maximum = maximum;
}
@Override
public void process(List data) {
if (attribute == null)
throw new IllegalArgumentException("MaximumLimiter: no attribute defined");
if (maximum == null || Double.isNaN(maximum.doubleValue()))
throw new IllegalArgumentException("MaximumLimiter: no limit defined");
for (ComplexDataObject cdo : data) {
Object object = cdo.getAttribute(attribute);
if (object == null)
continue;
if (object instanceof Number) {
if (((Number) object).doubleValue() > maximum.doubleValue())
cdo.add(attribute, maximum);
}
}
}
@Override
public DataProcessingCategory getPreprocessingCategory() {
return DataProcessingCategory.DATA_CLEANING;
}
@Override
public void process(ComplexDataContainer container) {
for (ComplexDataObject complexDataObject : container)
process(Arrays.asList(complexDataObject));
}
public Number getMaximum() {
return maximum;
}
public void setMaximum(Number maximum) {
this.maximum = maximum;
}
public String getAttribute() {
return attribute;
}
public void setAttribute(String attribute) {
this.attribute = attribute;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy