package com.baidu.dsp.common.constraint.validation;
import java.math.BigDecimal;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import com.baidu.dsp.common.constraint.DoubleMax;
/**
* @author liaoqiqi
*/
public class MaxValidatorForDouble implements ConstraintValidator<DoubleMax, Double> {
private double maxValue;
public void initialize(DoubleMax maxValue) {
this.maxValue = maxValue.value();
}
public boolean isValid(Double value, ConstraintValidatorContext constraintValidatorContext) {
// null values are valid
if (value == null) {
return true;
}
BigDecimal premium = BigDecimal.valueOf(value);
BigDecimal netToCompany = BigDecimal.valueOf(maxValue);
BigDecimal commission = premium.subtract(netToCompany);
return commission.compareTo(BigDecimal.ZERO) <= 0;
}
}