1 package net.sourceforge.pmd.properties;
2
3
4 /***
5 * Defines a property type that support float property values.
6 *
7 * @author Brian Remedios
8 */
9 public class FloatProperty extends AbstractScalarProperty {
10
11 /***
12 * Constructor for FloatProperty.
13 * @param theName String
14 * @param theDescription String
15 * @param theDefault float
16 * @param theUIOrder float
17 */
18 public FloatProperty(String theName, String theDescription, float theDefault, float theUIOrder) {
19 super(theName, theDescription, new Float(theDefault), theUIOrder);
20 }
21
22 /***
23 * Constructor for FloatProperty.
24 * @param theName String
25 * @param theDescription String
26 * @param defaultValues boolean[]
27 * @param theUIOrder float
28 * @param theMaxValues int
29 */
30 public FloatProperty(String theName, String theDescription, float[] defaultValues, float theUIOrder, int theMaxValues) {
31 this(theName, theDescription, asFloats(defaultValues), theUIOrder, theMaxValues);
32 }
33
34 /***
35 * Constructor for FloatProperty.
36 * @param theName String
37 * @param theDescription String
38 * @param defaultValues Float[]
39 * @param theUIOrder float
40 * @param theMaxValues int
41 */
42 public FloatProperty(String theName, String theDescription, Float[] defaultValues, float theUIOrder, int theMaxValues) {
43 super(theName, theDescription, defaultValues, theUIOrder);
44
45 maxValueCount(theMaxValues);
46 }
47
48 /***
49 * Method type.
50 * @return Class
51 * @see net.sourceforge.pmd.PropertyDescriptor#type()
52 */
53 public Class type() {
54 return Float.class;
55 }
56
57 /***
58 * Method asFloats.
59 * @param floats float[]
60 * @return Float[]
61 */
62 private static final Float[] asFloats(float[] floats) {
63 Float[] Floats = new Float[floats.length];
64 for (int i=0; i<floats.length; i++) Floats[i] = new Float(floats[i]);
65 return Floats;
66 }
67
68 /***
69 * Method createFrom.
70 * @param value String
71 * @return Object
72 */
73 protected Object createFrom(String value) {
74 return new Float(value);
75 }
76
77 /***
78 * Method arrayFor.
79 * @param size int
80 * @return Object[]
81 */
82 protected Object[] arrayFor(int size) {
83 return new Float[size];
84 }
85 }