File Source: BooleanParam.java

         /* 
    P/P   *  Method: com.dmdirc.installer.cliparser.BooleanParam__static_init
          */
     1  /*
     2   * Copyright (c) 2006-2009 Shane Mc Cormack
     3   *
     4   * Permission is hereby granted, free of charge, to any person obtaining a copy
     5   * of this software and associated documentation files (the "Software"), to deal
     6   * in the Software without restriction, including without limitation the rights
     7   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     8   * copies of the Software, and to permit persons to whom the Software is
     9   * furnished to do so, subject to the following conditions:
    10   *
    11   * The above copyright notice and this permission notice shall be included in
    12   * all copies or substantial portions of the Software.
    13   *
    14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    20   * SOFTWARE.
    21   */
    22  
    23  package com.dmdirc.installer.cliparser;
    24  
    25  /**
    26   * Command Line argument type.
    27   */
    28  public class BooleanParam extends CLIParam {
    29  	/** The value of this param. */
    30  	private boolean myValue = false;
    31  	
    32  	/**
    33  	 * Create a new BooleanParam.
    34  	 *
    35  	 * @param chr Single Character flag for this param.
    36  	 * @param str String flag for this param.
    37  	 * @param desc Description of this flag.
    38  	 */
    39  	public BooleanParam(final char chr, final String str, final String desc) {
        		 /* 
    P/P 		  *  Method: void com.dmdirc.installer.cliparser.BooleanParam(char, String, String)
        		  * 
        		  *  Postconditions:
        		  *    this.charFlag == chr
        		  *    init'ed(this.charFlag)
        		  *    this.description == desc
        		  *    init'ed(this.description)
        		  *    this.myValue == 0
        		  *    this.stringFlag == str
        		  *    init'ed(this.stringFlag)
        		  */
    40  		super(chr, str, desc);
    41  	}
    42  	
    43  	/**
    44  	 * Set the value of this param to the value given by a string.
    45  	 *
    46  	 * @param value String taken from command line to use as value.
    47  	 * @return true if value was valid, else false.
    48  	 */
    49  	public boolean setValue(final String value) {
    50  		// if no value, or an empty value is given, toggle the value
        		 /* 
    P/P 		  *  Method: bool setValue(String)
        		  * 
        		  *  Preconditions:
        		  *    (soft) init'ed(this.myValue)
        		  * 
        		  *  Postconditions:
        		  *    init'ed(return_value)
        		  *    init'ed(this.myValue)
        		  * 
        		  *  Test Vectors:
        		  *    value: Addr_Set{null}, Inverse{null}
        		  *    java.lang.String:equals(...)@55: {1}, {0}
        		  *    java.lang.String:equals(...)@59: {1}, {0}
        		  *    java.lang.String:equalsIgnoreCase(...)@55: {1}, {0}
        		  *    java.lang.String:equalsIgnoreCase(...)@55: {0}, {1}
        		  *    java.lang.String:equalsIgnoreCase(...)@59: {1}, {0}
        		  *    java.lang.String:equalsIgnoreCase(...)@59: {0}, {1}
        		  *    java.lang.String:isEmpty(...)@51: {0}, {1}
        		  */
    51  		if (value == null || value.isEmpty()) {
    52  			myValue = !myValue;
    53  			return true;
    54  		// Check if value is a word that means "true"
    55  		} else if (value.equals("1") || value.equalsIgnoreCase("true") || value.equalsIgnoreCase("yes")) {
    56  			myValue = true;
    57  			return true;
    58  		// Check if value is a word that means "false"
    59  		} else if (value.equals("0") || value.equalsIgnoreCase("false") || value.equalsIgnoreCase("no")) {
    60  			myValue = false;
    61  			return true;
    62  		// The value is not a valid boolean value.
    63  		} else {
    64  			return false;
    65  		}
    66  	}
    67  	
    68  	/**
    69  	 * Get the value of this param.
    70  	 *
    71  	 * @return Value of this parameter
    72  	 */
    73  	public boolean getValue() {
        		 /* 
    P/P 		  *  Method: bool getValue()
        		  * 
        		  *  Preconditions:
        		  *    init'ed(this.myValue)
        		  * 
        		  *  Postconditions:
        		  *    return_value == this.myValue
        		  *    init'ed(return_value)
        		  */
    74  		return myValue;
    75  	}
    76  	
    77  	/**
    78  	 * Return the value of this param as a string.
    79  	 *
    80  	 * @return The value of this param as a string.
    81  	 */
    82  	public String getStringValue() {
        		 /* 
    P/P 		  *  Method: String getStringValue()
        		  * 
        		  *  Preconditions:
        		  *    init'ed(this.myValue)
        		  * 
        		  *  Postconditions:
        		  *    java.lang.String:valueOf(...)._tainted == 0
        		  *    return_value == &java.lang.String:valueOf(...)
        		  */
    83  		return String.valueOf(getValue());
    84  	}
    85  }








SofCheck Inspector Build Version : 2.17854
BooleanParam.java 2009-Jun-25 01:54:24
BooleanParam.class 2009-Sep-02 17:04:16