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 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 new Double(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  }