vmm.core
Class RealParam

java.lang.Object
  extended by vmm.core.Parameter
      extended by vmm.core.RealParam
Direct Known Subclasses:
RealParamAnimateable, VariableParam

public class RealParam
extends Parameter

A parameter of type Real. The value object for a paremeter of this type belongs to the class Double.


Constructor Summary
RealParam()
          Creates a RealParam that initially has no name and has value and default value equal to 0.
RealParam(java.lang.String name, double initialValue)
          Create a RealParam with a specified name and initial value.
RealParam(java.lang.String name, java.lang.String valueAsString)
          Create a RealParam with a specified name and initial value.
 
Method Summary
 double getDefaultValue()
          Returns the default value of this parameter as an int.
 double getMaximumValueForInput()
          Returns the maximum value that is allowed for this parameter when its value is input.
 double getMinimumValueForInput()
          Returns the minimum value that is allowed for this parameter when its value is input.
 double getValue()
          Returns the value of this object as a number of type double.
 void reset(double value)
          Sets both the default value and the value of this parameter to the specified number.
 void setDefaultValue(double val)
          Sets the default value of the parameter to a specified double.
 void setMaximumValueForInput(double maximumValueForInput)
          Set the maximum value that is allowed for this parameter when its value is input.
 void setMinimumValueForInput(double minimumValueForInput)
          Set the minimum value that is allowed for this parameter when its value is input.
 void setValue(double val)
          Set the value of this parameter to a specified value of type double.
 void setValueAndDefault(double val)
          Set both the value and the default value of this parameter to a specified int.
protected  java.lang.Object stringToValueObject(java.lang.String str)
          Converts a string to an object of type Double.
protected  java.lang.String valueObjectToString(java.lang.Object obj)
          Returns a string representation of a value object of this Parameters.
 
Methods inherited from class vmm.core.Parameter
createParameterInput, getDefaultValueAsString, getDefaultValueObject, getHint, getName, getOwner, getTitle, getValueAsString, getValueObject, reset, reset, setDefaultValueFromString, setDefaultValueObject, setName, setOwner, setValueAndDefaultFromString, setValueFromString, setValueObject, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RealParam

public RealParam()
Creates a RealParam that initially has no name and has value and default value equal to 0.


RealParam

public RealParam(java.lang.String name,
                 double initialValue)
Create a RealParam with a specified name and initial value.

Parameters:
name - The name of the Parameter, which can be null but ordinarily should not be. The name shoud identify the Parameter uniquely among parameters associated with a given Parameterizeable object. The name is for internal use in VMM. A human-readable name is returned by Parameter.getTitle().
initialValue - The initial value of the parameter. This also becomes its default value.

RealParam

public RealParam(java.lang.String name,
                 java.lang.String valueAsString)
          throws java.lang.NumberFormatException
Create a RealParam with a specified name and initial value.

Parameters:
name - The name of the Parameter.
valueAsString - The initial value of the parameter, given as a constant expression that represents a legal value of type double. If this is not the case, a NumberFormatException is thrown. This also becomes its default value.
Throws:
java.lang.NumberFormatException
Method Detail

reset

public void reset(double value)
Sets both the default value and the value of this parameter to the specified number. This is primarily meant to be called in the constructor of an Exhibit when it wants to change the value of a parameter that is inherited from a superclass.

The version in this class is essentially the same as setValueAndDefault(double), but for animated parameters (defined by subclasses of this class), the animation start and end values are also set.

See Also:
Parameter.reset(String)

setValue

public void setValue(double val)
Set the value of this parameter to a specified value of type double.

See Also:
Parameter.setValueObject(Object)

getValue

public double getValue()
Returns the value of this object as a number of type double.

See Also:
Parameter.getValueObject()

setDefaultValue

public void setDefaultValue(double val)
Sets the default value of the parameter to a specified double. The default value is used when the user clicks the "Defaults" button in an AnimationLimitsDialog.

See Also:
Parameter.setDefaultValueObject(Object)

setValueAndDefault

public void setValueAndDefault(double val)
Set both the value and the default value of this parameter to a specified int.


getDefaultValue

public double getDefaultValue()
Returns the default value of this parameter as an int.

See Also:
Parameter.getDefaultValueObject()

getMaximumValueForInput

public double getMaximumValueForInput()
Returns the maximum value that is allowed for this parameter when its value is input. In the VMM core, this limit is only enforced when the value is input into a ParameterInput.

See Also:
setMaximumValueForInput(double)

setMaximumValueForInput

public void setMaximumValueForInput(double maximumValueForInput)
Set the maximum value that is allowed for this parameter when its value is input. In the VMM core, this limit is only enforced when the value is input into a ParameterInput. The default value is Double.NEGATIVE_INFINITY, which means that there is no limit.


getMinimumValueForInput

public double getMinimumValueForInput()
Returns the minimum value that is allowed for this parameter when its value is input. In the VMM core, this limit is only enforced when the value is input into a ParameterInput.

See Also:
setMinimumValueForInput(double)

setMinimumValueForInput

public void setMinimumValueForInput(double minimumValueForInput)
Set the minimum value that is allowed for this parameter when its value is input. In the VMM core, this limit is only enforced when the value is input into a ParameterInput. The default value is Double.NEGATIVE_INFINITY, which means that there is no limit. If you want to allow only strictly positive numbers, set the value to Double.MIN_VALUE, which is the smallest positive number that can be represented as a value of type double.


stringToValueObject

protected java.lang.Object stringToValueObject(java.lang.String str)
                                        throws java.lang.NumberFormatException
Converts a string to an object of type Double. This is used for converting strings to objects that can be used as this Parameter's value object or default value object. A NumberFormatException is thrown if the string does not represent a legal constant expression that has a defined, finite real value.

Exceptions to this are the special strings "##NAN##", "##INF##", "##NEGINF##", and ##EPSILON## which represent the numbers Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, and Double.MIN_VALUE. These strings are used when the parameter is written to an XML settings file. They are necessary since it is always possible to set a value programmatically to one of these numbers. These numbers are just not allowed as the value of an ordinary expression.

Specified by:
stringToValueObject in class Parameter
Parameters:
str - A string representation of a value for the parameter, possibly as a constant expression such as "2*pi"
Returns:
An object representing the value, presumably of type Integer, Double, or Complex.
Throws:
java.lang.NumberFormatException

valueObjectToString

protected java.lang.String valueObjectToString(java.lang.Object obj)
Returns a string representation of a value object of this Parameters. In this class, the value object is of type Double, with a null value interpreted as zero. This is compatible with the stringToValueObject(String) method. The conversion is actually done by Util.toExternalString(Object)}

Overrides:
valueObjectToString in class Parameter
Parameters:
obj - A parameter value represented as an object.
Returns:
A string representation of the value.
See Also:
Parameter.stringToValueObject(String)