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