01 /**
02 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
03 */
04 package net.sourceforge.pmd.lang.rule.properties;
05
06 /**
07 * Defines a property type that support float property values within an upper and lower boundary.
08 *
09 * @author Brian Remedios
10 */
11 public class FloatMultiProperty extends AbstractMultiNumericProperty<Float[]> {
12 /**
13 * Constructor for FloatProperty that configures it to accept multiple values and any number of defaults.
14 *
15 * @param theName String
16 * @param theDescription String
17 * @param min Float
18 * @param max Float
19 * @param defaultValues Float[]
20 * @param theUIOrder float
21 * @throws IllegalArgumentException
22 */
23 public FloatMultiProperty(String theName, String theDescription, Float min, Float max, Float[] defaultValues, float theUIOrder) {
24 super(theName, theDescription, min, max, defaultValues, theUIOrder);
25 }
26
27 /**
28 * @return Class
29 * @see net.sourceforge.pmd.PropertyDescriptor#type()
30 */
31 public Class<Float[]> type() {
32 return Float[].class;
33 }
34
35 /**
36 * Creates an property value of the right type from a raw string.
37 *
38 * @param value String
39 * @return Object
40 */
41 protected Object createFrom(String value) {
42 return Float.valueOf(value);
43 }
44
45 /**
46 * Returns an array of the correct type for the receiver.
47 *
48 * @param size int
49 * @return Object[]
50 */
51 protected Object[] arrayFor(int size) {
52 return new Float[size];
53 }
54 }
|