import java.awt.*; /** * Param.java: A generic parameter class for use in my engineering programs. * * Written in: Java 1.0.2 * * @author Joseph A. Huwaldt Date: November 23, 1997 * @author Joseph A. Huwaldt Date: November 30, 1997 * @version December 2, 1997 **/ class Param extends Object { private float theValue; // The value of this parameter. private boolean defined; // Is this parameter defined? private String labelStr; // String containing a lable for this parameter. /** * Param(): Param object constructor #1. * Takes a label string and sets parameter to an initial value of Float.NaN. * * Written by: Joseph A. Huwaldt Date: November 23, 1997 * Modified by: Joseph A. Huwaldt Date: November 30, 1997 * * @param label The label to be attached to this object. * @return No return value **/ Param(String label) { labelStr = label; theValue = Float.NaN; defined = false; } /** * Param(): Param object constructor #2. * Takes a label string and a float value for the parameter. * * Written by: Joseph A. Huwaldt Date: November 23, 1997 * Modified by: Joseph A. Huwaldt Date: November 30, 1997 * * @param label The label to be attached to this object. * @param value The initial value for the parameter to hold. * @return No return value **/ Param(String label, float value) { labelStr = label; theValue = value; defined = true; } /** * Param(): Param object constructor #3. * Takes a label string and a value in string form for the parameter. * * Written by: Joseph A. Huwaldt Date: November 23, 1997 * Modified by: Joseph A. Huwaldt Date: November 30, 1997 * * @param label The label to be attached to this object. * @param value The initial value for the parameter to hold. * @return No return value * @exception NumberFormatException Thrown if value string can't be converted to a float. **/ Param(String label, String value) throws NumberFormatException { labelStr = label; if (value.equals("")) { defined = false; theValue = Float.NaN; } else { theValue = Float.valueOf(value).floatValue(); if (theValue != Float.NaN) defined = true; else defined = false; } } /** * getValue(): Method to return the value of this parameter. * * Written by: Joseph A. Huwaldt Date: November 23, 1997 * Modified by: Joseph A. Huwaldt Date: November 23, 1997 * * @param No parameter. * @return The float value of this parameter is returned. **/ public float getValue() { return theValue; } /** * setValue(): Method to set the value of this parameter. Makes the parameter * "defined". * * Written by: Joseph A. Huwaldt Date: November 23, 1997 * Modified by: Joseph A. Huwaldt Date: November 29, 1997 * * @param value The value that the parameter object should be set to. * @return No return value **/ public void setValue(float value) { theValue = value; if (value != Float.NaN) defined = true; else defined = false; } /** * setValue(): Method to set the value of this parameter using string input. * Makes this parameter "defined". * * Written by: Joseph A. Huwaldt Date: November 23, 1997 * Modified by: Joseph A. Huwaldt Date: November 29, 1997 * * @param value The value that the parameter object should be set to. * @return No return value * @exception NumberFormatException Thrown if value string can't be converted to a float. **/ public void setValue(String value) throws NumberFormatException { if (value.equals("")) { defined = false; theValue = Float.NaN; } else { theValue = Float.valueOf(value).floatValue(); if (theValue != Float.NaN) defined = true; else defined = false; } } /** * getLabel(): Method to return the string representation of the label * of this parameter. * * Written by: Joseph A. Huwaldt Date: November 30, 1997 * Modified by: Joseph A. Huwaldt Date: November 30, 1997 * * @param No parameters * @return Returns the string representation of the parameter label. **/ public String getLabel() { return labelStr; } /** * changeLabel(): Method to change the label that is associated with this parameter. * * Written by: Joseph A. Huwaldt Date: November 23, 1997 * Modified by: Joseph A. Huwaldt Date: November 23, 1997 * * @param label The label to be attached to this object. * @return No return value **/ public void changeLabel(String label) { labelStr = label; } /** * isDefined(): Returns true if parameter is defined, false otherwise. * * Written by: Joseph A. Huwaldt Date: November 29, 1997 * Modified by: Joseph A. Huwaldt Date: November 29, 1997 * * @param No parameters * @return Returns true if this parameter is defined. **/ public boolean isDefined() { return defined; } /** * makeUndefined(): Method to make this parameter undefined. * * Written by: Joseph A. Huwaldt Date: November 23, 1997 * Modified by: Joseph A. Huwaldt Date: November 23, 1997 * * @param No parameters * @return No return value **/ public void makeUndefined() { defined = false; theValue = Float.NaN; labelStr = null; } /** * toString(): Method to return the value of this parameter as a string. * * Written by: Joseph A. Huwaldt Date: November 23, 1997 * Modified by: Joseph A. Huwaldt Date: November 23, 1997 * * @param No parameters * @return Returns a string representation of the value of this parameter. **/ public String toString() { return Float.toString(theValue); } } // end Param class