All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.aguacate.function.spi.impl.FunctionZero Maven / Gradle / Ivy

package net.sf.aguacate.function.spi.impl;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Collection;

import net.sf.aguacate.function.FunctionEvalResult;
import net.sf.aguacate.function.Parameter;
import net.sf.aguacate.function.spi.AbstractFunction1;

public class FunctionZero extends AbstractFunction1 {

	public FunctionZero(Collection methods, String name, Parameter parameter) {
		super(methods, name, parameter, null);
	}

	@Override
	protected FunctionEvalResult evaluate(Object value) {
		if (value.getClass() == BigInteger.class) {
			if (BigInteger.ZERO.equals(value)) {
				return new FunctionEvalResult(null, null);
			} else {
				return new FunctionEvalResult("Not Zero", null);
			}
		} else {
			if (value.getClass() == BigDecimal.class) {
				BigDecimal val = (BigDecimal) value;
				BigDecimal zero = BigDecimal.ZERO.setScale(val.scale());
				if (zero.equals(val)) {
					return new FunctionEvalResult(null, null);
				} else {
					return new FunctionEvalResult("Not Zero", null);
				}
			} else {
				return new FunctionEvalResult("Not implemented", null);
			}
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy