View Javadoc

1   package net.sf.twip.parameterhandler;
2   
3   import net.sf.twip.util.Parameter;
4   
5   public class DoubleParameterHandler extends AbstractFloatingPointNumberParameterHandler {
6   
7   	private static final Double[] VALUES = new Double[] { 1d, 1.5d, 2d, 2.5d, 3d, 0d, 1.0d / 9,
8   			-1d, -1.5d, -2d, -2.5d, -3d, 127d, -127d, 1024d, -1024d, Double.NaN,
9   			Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE };
10  
11  	public DoubleParameterHandler(Parameter parameter) {
12  		super(parameter);
13  	}
14  
15  	@Override
16  	protected Comparable<? extends Number> getComparable(String numberExpression) {
17  		return Double.valueOf(numberExpression);
18  	}
19  
20  	@Override
21  	protected Object[] getDefaultParameterValues() {
22  		return VALUES;
23  	}
24  
25  	@Override
26  	protected boolean isNaN(Object value) {
27  		return ((Double) value).isNaN();
28  	}
29  
30  	@Override
31  	protected boolean isNegativeInfinity(Object value) {
32  		final Double d = (Double) value;
33  		return d.isInfinite() && d < 0;
34  	}
35  
36  	@Override
37  	protected boolean isPositiveInfinity(Object value) {
38  		final Double d = (Double) value;
39  		return d.isInfinite() && d > 0;
40  	}
41  
42  	@Override
43  	public boolean test(Object value) {
44  		if (((Double) value).isNaN())
45  			return false;
46  		return super.test(value);
47  	}
48  }