View Javadoc

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<Float> 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 Float.valueOf(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  }