View Javadoc

1   package net.sf.twip.parameterhandler;
2   
3   import net.sf.twip.util.Parameter;
4   
5   public abstract class AbstractFloatingPointNumberParameterHandler extends
6   		AbstractNumberParameterHandler {
7   
8   	public AbstractFloatingPointNumberParameterHandler(Parameter parameter) {
9   		super(parameter);
10  	}
11  
12  	@Override
13  	protected Tester getTester(final String expression) {
14  		if ("!= NaN".equals(expression))
15  			return new Tester() {
16  				public boolean test(Object value) {
17  					return !isNaN(value);
18  				}
19  			};
20  		if ("!= INF".equals(expression))
21  			return new Tester() {
22  				public boolean test(Object value) {
23  					return !isPositiveInfinity(value);
24  				}
25  			};
26  		if ("!= -INF".equals(expression))
27  			return new Tester() {
28  				public boolean test(Object value) {
29  					return !isNegativeInfinity(value);
30  				}
31  			};
32  		return super.getTester(expression);
33  	}
34  
35  	protected abstract boolean isNaN(Object value);
36  
37  	protected abstract boolean isNegativeInfinity(Object value);
38  
39  	protected abstract boolean isPositiveInfinity(Object value);
40  }