Revision 46505 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/spi/AbstractFunction.java

View differences:

AbstractFunction.java
27 27
import org.apache.commons.lang3.BooleanUtils;
28 28
import org.apache.commons.lang3.Range;
29 29
import org.apache.commons.lang3.StringUtils;
30
import org.apache.commons.math.exception.OutOfRangeException;
30 31
import org.apache.commons.math.util.MathUtils;
31 32
import org.gvsig.expressionevaluator.Code;
32 33
import org.gvsig.expressionevaluator.Codes;
34
import org.gvsig.expressionevaluator.ExpressionBuilder;
33 35
import org.gvsig.expressionevaluator.ExpressionRuntimeException;
34 36
import org.gvsig.expressionevaluator.Formatter;
35 37
import org.gvsig.expressionevaluator.Function;
......
814 816
    public String toString() {
815 817
        return this.name;
816 818
    }
819
    
820
    protected void checkDoubleValue(double value) {
821
        if (Double.isInfinite(value)) {
822
            throw new OutOfRangeException(value, Double.MIN_VALUE, Double.MAX_VALUE);
823
        }
824

  
825
    }
826

  
827
    protected void checkFloatValue(float value) {
828
        if (Float.isInfinite(value)) {
829
            throw new OutOfRangeException(value, Float.MIN_VALUE, Float.MAX_VALUE);
830
        }
831

  
832
    }
833

  
834
    @Override
835
    public ExpressionBuilder.Value toValue(ExpressionBuilder builder, Codes parameters) {
836
        ExpressionBuilder.Function f = builder.function(this.name());
837
        if (parameters!= null) {
838
            for (Code parameter : parameters) {
839
                if (parameter == null) {
840
                    f.parameter(null);
841
                } else {
842
                    f.parameter(parameter.toValue(builder));
843
                }
844
            }
845
        }
846
        return f;
847

  
848
    }
849
    
850
    
817 851
}

Also available in: Unified diff