View Javadoc

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