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 FloatMultiProperty extends AbstractMultiNumericProperty<Float[]> {
18
19 public static final PropertyDescriptorFactory FACTORY = new BasicPropertyDescriptorFactory<FloatMultiProperty>(
20 Float[].class, NUMBER_FIELD_TYPES_BY_KEY) {
21
22 public FloatMultiProperty createWith(Map<String, String> valuesById) {
23 String[] minMax = minMaxFrom(valuesById);
24 char delimiter = delimiterIn(valuesById, DEFAULT_NUMERIC_DELIMITER);
25 Float[] defaultValues = floatsIn(numericDefaultValueIn(valuesById), delimiter);
26 return new FloatMultiProperty(nameIn(valuesById), descriptionIn(valuesById), Float.parseFloat(minMax[0]),
27 Float.parseFloat(minMax[1]), defaultValues, 0f);
28 }
29 };
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public FloatMultiProperty(String theName, String theDescription, Float min, Float max, Float[] defaultValues,
44 float theUIOrder) {
45 super(theName, theDescription, min, max, defaultValues, theUIOrder);
46 }
47
48
49
50
51
52 public Class<Float[]> type() {
53 return Float[].class;
54 }
55
56
57
58
59
60
61
62 protected Object createFrom(String value) {
63 return Float.valueOf(value);
64 }
65
66
67
68
69
70
71
72 protected Object[] arrayFor(int size) {
73 return new Float[size];
74 }
75 }