com.novell.nds.dirxml.engine.gcv
Class GCRealValue

java.lang.Object
  extended bycom.novell.nds.dirxml.engine.gcv.GCValue
      extended bycom.novell.nds.dirxml.engine.gcv.GCRealValue
All Implemented Interfaces:
ConfigElement

public class GCRealValue
extends GCValue

Class representing "real" type Global Configuration Values.

GCVs of type "real" may be either unrestricted or range-restricted.

Unrestricted real GCVs may have values ranging from -java.lang.Double.MAX_VALUE to java.lang.Double.MAX_VALUE.

Range-restricted real GCVs may have a lower bound, an upper bound, or both. If the lower bound is not specified the minimum value is -java.lang.Double.MAX_VALUE. If the upper bound is not specified the maximum value isjava.lang.Double.MAX_VALUE. The GCV value must fall within the inclusive range specified by the bound(s).

Lexical value representations of "real" GCVs must match the following production:

Real ::= Integer | ('-'? Digit+ '.' Digit+)
Integer ::= '-'? Digit+
Digit ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'

The default value of a newly-constructed GCRealValue object is 0.0.


Field Summary
 
Fields inherited from class com.novell.nds.dirxml.engine.gcv.GCValue
modified, parent, TYPE_BOOLEAN, TYPE_DN, TYPE_DN_REF, TYPE_ENUM, TYPE_GCV_REF, TYPE_GROUP, TYPE_HEADER, TYPE_INTEGER, TYPE_LIST, TYPE_PASSWORD_REF, TYPE_REAL, TYPE_STRING, TYPE_SUBORDINATES
 
Method Summary
 double getRangeHi()
          Return the high end of any restrictive range that has been set.
 double getRangeLo()
          Return the low end of any restrictive range that has been set.
 double getRealValue()
          Return the value of this instance as a double.
 String getValue()
          Return the current value of this instance.
 void parseValue(String value)
          Parse the passed value based on the type and instance rules for this "real" GCV.
 void setRangeHi(double rHi)
          Set the high end of a restrictive range for this real value.
 void setRangeHi(String rHi)
          Set the high end of a restrictive range for this real value.
 void setRangeLo(double rLo)
          Set the low end of a restrictive range for this real value.
 void setRangeLo(String rLo)
          Set the low end of a restrictive range for this real value.
 void setValue(String strValue)
          Set the value for this instance.
 
Methods inherited from class com.novell.nds.dirxml.engine.gcv.GCValue
construct, construct, constructGCVRef, constructGroup, constructHeader, constructSubordinates, getDescription, getDescriptionRef, getDisplayName, getDisplayNameRef, getHidden, getName, getType, getTypeString, getXMLValue, hasBeenModified, localize, resetModified, setDescription, setDescriptionRef, setDisplayName, setDisplayNameRef, setHidden, toXML, typeFromString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

parseValue

public void parseValue(String value)
                throws GCVException
Parse the passed value based on the type and instance rules for this "real" GCV.

The passed value must conform to the lexical rules specified in the description of this class.

In addition, the value must fall within the range restriction if set, or, if no range has been set, the value must be greater than or equal to -java.lang.Double.MAX_VALUE and less than or equal to java.lang.Double.MAX_VALUE.

Specified by:
parseValue in class GCValue
Parameters:
value - Value String to parse
Throws:
GCVException - thrown if value does not match "real" or instance constraints.

getValue

public String getValue()
Return the current value of this instance.

Specified by:
getValue in class GCValue
Returns:
String containing lexical representation of this "real" value.

setValue

public void setValue(String strValue)
              throws GCVException
Set the value for this instance.

The passed value must conform to the rules noted under parseValue().

Specified by:
setValue in class GCValue
Parameters:
strValue - Value String for this instance.
Throws:
GCVException - thrown if value is doesn't not parse correctly.
See Also:
parseValue(java.lang.String)

getRealValue

public double getRealValue()
Return the value of this instance as a double.

Returns:
value

getRangeLo

public double getRangeLo()
Return the low end of any restrictive range that has been set.

If no low end has been set the return is -java.lang.Double.MAX_VALUE.

Returns:
low end range value, or -java.lang.Double.MAX_VALUE.

setRangeLo

public void setRangeLo(double rLo)
                throws GCVException
Set the low end of a restrictive range for this real value.

If the passed value in rLo is greater than the high end of the restrictive range then the high end is set equal to the new low end.

To remove the low end of a restrictive range pass -java.lang.Double.MAX_VALUE for rLo.

Parameters:
rLo - new low end of restrictive range.
Throws:
GCVException

setRangeLo

public void setRangeLo(String rLo)
                throws GCVException
Set the low end of a restrictive range for this real value.

If the passed value in rLo is greater than the high end of the restrictive range then the high end is set equal to the new low end.

To remove the low end of a restrictive range pass -java.lang.Double.MAX_VALUE for rLo.

The passed string value must match the lexical rules for "real" values.

Parameters:
rLo - new low end of restrictive range.
Throws:
GCVException - thrown if passed rLo string value is not a valid lexical representation of an "real" value.

getRangeHi

public double getRangeHi()
Return the high end of any restrictive range that has been set.

If no high end has been set the return is java.lang.Double.MAX_VALUE.

Returns:
high end range value, or java.lang.Double.MAX_VALUE.

setRangeHi

public void setRangeHi(double rHi)
                throws GCVException
Set the high end of a restrictive range for this real value.

If the passed value in rHi is less than the low end of the restrictive range then the low end is set equal to the new high end.

To remove the high end of a restrictive range pass java.lang.Double.MAX_VALUE for rHi.

Parameters:
rHi - new high end of restrictive range.
Throws:
GCVException

setRangeHi

public void setRangeHi(String rHi)
                throws GCVException
Set the high end of a restrictive range for this real value.

If the passed value in rHi is less than the low end of the restrictive range then the low end is set equal to the new high end.

To remove the high end of a restrictive range pass java.lang.Double.MAX_VALUE for rHi.

The passed string value must match the lexical rules for "real" values.

Parameters:
rHi - new high end of restrictive range.
Throws:
GCVException - thrown if passed rHi string value is not a valid lexical representation of an "real" value.