1
2
3
4 package net.sourceforge.pmd.lang.rule.properties;
5
6 import java.util.Map;
7
8 import net.sourceforge.pmd.PropertyDescriptorFactory;
9 import net.sourceforge.pmd.lang.rule.properties.factories.BasicPropertyDescriptorFactory;
10
11
12
13
14
15
16
17 public class DoubleProperty extends AbstractNumericProperty<Double> {
18
19 public static final PropertyDescriptorFactory FACTORY = new BasicPropertyDescriptorFactory<DoubleProperty>(Double.class, numberFieldTypesByKey) {
20
21 public DoubleProperty createWith(Map<String, String> valuesById) {
22 final String[] minMax = minMaxFrom(valuesById);
23 return new DoubleProperty(
24 nameIn(valuesById),
25 descriptionIn(valuesById),
26 Double.valueOf(minMax[0]),
27 Double.valueOf(minMax[1]),
28 Double.valueOf(numericDefaultValueIn(valuesById)),
29 0f);
30 }
31 };
32
33
34
35
36
37
38
39
40
41
42
43 public DoubleProperty(String theName, String theDescription, Double min, Double max, Double theDefault, float theUIOrder) {
44 super(theName, theDescription, min, max, theDefault, theUIOrder);
45 }
46
47
48
49
50
51
52
53
54
55
56
57 public DoubleProperty(String theName, String theDescription, String minStr, String maxStr, String defaultStr, float theUIOrder) {
58 this(theName, theDescription, doubleFrom(minStr), doubleFrom(maxStr), doubleFrom(defaultStr), theUIOrder);
59 }
60
61
62
63
64
65
66 public static Double doubleFrom(String numberString) {
67 return Double.valueOf(numberString);
68 }
69
70
71
72
73
74 public Class<Double> type() {
75 return Double.class;
76 }
77
78
79
80
81
82
83
84 protected Object createFrom(String value) {
85 return doubleFrom(value);
86 }
87 }