View Javadoc

    1   package net.sourceforge.pmd.properties;
    2
    3
    4   /***
    5    * Defines a property type that supports Boolean values.
    6    *
    7    * @author Brian Remedios
    8    * @version $Revision$
    9    */
    10  public class BooleanProperty extends AbstractScalarProperty {
    11
    12  	/***
    13  	 * Constructor for BooleanProperty.
    14  	 * @param theName String
    15  	 * @param theDescription String
    16  	 * @param defaultValue boolean
    17  	 * @param theUIOrder float
    18  	 */
    19  	public BooleanProperty(String theName, String theDescription, boolean defaultValue, float theUIOrder) {
    20  		super(theName, theDescription, Boolean.valueOf(defaultValue), theUIOrder);
    21  	}
    22
    23  	/***
    24  	 * Constructor for BooleanProperty.
    25  	 * @param theName String
    26  	 * @param theDescription String
    27  	 * @param defaultValues boolean[]
    28  	 * @param theUIOrder float
    29  	 * @param theMaxValues int
    30  	 */
    31  	public BooleanProperty(String theName, String theDescription, boolean[] defaultValues, float theUIOrder, int theMaxValues) {
    32  		this(theName, theDescription, asBooleans(defaultValues), theUIOrder, theMaxValues);
    33
    34  	}
    35
    36  	/***
    37  	 * Constructor for BooleanProperty.
    38  	 * @param theName String
    39  	 * @param theDescription String
    40  	 * @param defaultValues Boolean[]
    41  	 * @param theUIOrder float
    42  	 * @param theMaxValues int
    43  	 */
    44  	public BooleanProperty(String theName, String theDescription, Boolean[] defaultValues, float theUIOrder, int theMaxValues) {
    45  		super(theName, theDescription, defaultValues, theUIOrder);
    46
    47  		maxValueCount(theMaxValues);
    48  	}
    49
    50  	/***
    51  	 * Method asBooleans.
    52  	 * @param bools boolean[]
    53  	 * @return Boolean[]
    54  	 */
    55  	private static final Boolean[] asBooleans(boolean[] bools) {
    56  		Boolean[] booleans = new Boolean[bools.length];
    57  		for (int i=0; i<bools.length; i++) booleans[i] = Boolean.valueOf(bools[i]);
    58  		return booleans;
    59  	}
    60
    61  	/***
    62  	 * Method type.
    63  	 * @return Class
    64  	 * @see net.sourceforge.pmd.PropertyDescriptor#type()
    65  	 */
    66  	public Class type() {
    67  		return Boolean.class;
    68  	}
    69
    70  	/***
    71  	 * Method createFrom.
    72  	 * @param value String
    73  	 * @return Object
    74  	 */
    75  	protected Object createFrom(String value) {
    76  		return Boolean.valueOf(value);
    77  	}
    78
    79  	/***
    80  	 * Method arrayFor.
    81  	 * @param size int
    82  	 * @return Object[]
    83  	 */
    84  	protected Object[] arrayFor(int size) {
    85  		return new Boolean[size];
    86  	}
    87  }