View Javadoc

1   package net.sourceforge.pmd.properties;
2   
3   
4   /**
5    * Defines a property type that support double property values.
6    * 
7    * @author Brian Remedios
8    */
9   public class DoubleProperty extends AbstractScalarProperty {
10  
11  	/**
12  	 * Constructor for DoubleProperty.
13  	 * @param theName String
14  	 * @param theDescription String
15  	 * @param theDefault double
16  	 * @param theUIOrder float
17  	 */
18  	public DoubleProperty(String theName, String theDescription, double theDefault, float theUIOrder) {
19  		super(theName, theDescription, new Double(theDefault), theUIOrder);
20  	}
21  
22  	/**
23  	 * Constructor for DoubleProperty.
24  	 * @param theName String
25  	 * @param theDescription String
26  	 * @param defaultValues boolean[]
27  	 * @param theUIOrder float
28  	 * @param theMaxValues int
29  	 */
30  	public DoubleProperty(String theName, String theDescription, double[] defaultValues, float theUIOrder, int theMaxValues) {
31  		this(theName, theDescription, asDoubles(defaultValues), theUIOrder, theMaxValues);		
32  	}
33  	
34  	/**
35  	 * Constructor for DoubleProperty.
36  	 * @param theName String
37  	 * @param theDescription String
38  	 * @param defaultValues Double[]
39  	 * @param theUIOrder float
40  	 * @param theMaxValues int
41  	 */
42  	public DoubleProperty(String theName, String theDescription, Double[] 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<Double> type() {
54  		return Double.class;
55  	}
56  
57  	/**
58  	 * Method asDoubles.
59  	 * @param doubles double[]
60  	 * @return Double[]
61  	 */
62  	private static final Double[] asDoubles(double[] doubles) {
63  		Double[] Doubles = new Double[doubles.length];
64  		for (int i=0; i<doubles.length; i++) Doubles[i] = new Double(doubles[i]);
65  		return Doubles;
66  	}
67  
68  	/**
69  	 * Method createFrom.
70  	 * @param value String
71  	 * @return Object
72  	 */
73  	protected Object createFrom(String value) {
74  		return Double.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 Double[size];
84  	}
85  }