com.davisor.data
Class Deinterpolator

java.lang.Object
  extended byjava.lang.Number
      extended bycom.davisor.data.Deinterpolator
All Implemented Interfaces:
com.davisor.core.Dupable, java.io.Serializable

public class Deinterpolator
extends java.lang.Number
implements com.davisor.core.Dupable

Deinterpolator represents a number value derived by deinterpolating a data value against a deinterpolation range. The deinterpolated value may be optionally further scaled and transfered with a scalar multiplier and offset values.

Any exception during number value deinterpolation will result an descriptive error message to be printed in standard error stream, and a not-a-number value.

Since:
JDK1.2
See Also:
DataValue.deinterpolate(com.davisor.data.DataValue, com.davisor.data.DataValue), Serialized Form

Field Summary
protected  java.lang.Object M_max
          Deinterpolation range upper limit.
protected  java.lang.Object M_min
          Deinterpolation range lower limit.
protected  double M_scale
          Interpolated value multiplier.
protected  DataValue M_value
          The value to be interpolated.
protected  double M_zero
          Interpolated value offset.
 
Constructor Summary
Deinterpolator(Deinterpolator d)
          Deep copy constructor.
Deinterpolator(java.lang.Object min, java.lang.Object max)
          Creates a new deinterpolated value with given deinterpolation range and default multiplier and offset values.
Deinterpolator(java.lang.Object min, java.lang.Object max, double from, double to)
          Creates a new deinterpolated value with given deinterpolation range and multiplier and offset values.
 
Method Summary
 byte byteValue()
          Gets deinterpolated byte value.
 double doubleValue()
          Gets deinterpolated double value.
 com.davisor.core.Dupable dup()
          Makes a deep copy of this object.
 float floatValue()
          Gets the deinterpolated float value.
 DataValue getMax()
          Gets deinterpolation range upper limit value.
 double getMaxValue()
          Gets the deinterpolation range upper limit number value.
 DataValue getMin()
          Gets deinterpolation range lowerlimit value.
 double getMinValue()
          Gets the deinterpolation range lower limit number value.
 double getScale()
          Gets deinterpolation value scalar factor.
 Type getType()
          Gets deinterpolator range type.
 DataValue getValue()
          Gets the value to be deinterpolated.
 double getZero()
          Gets deinterpolation value zero value.
 int intValue()
          Gets deinterpolated int value.
 long longValue()
          Gets deinterpolated long value.
 void setMax(java.lang.Object max)
          Sets deinterpolation range upper limit value.
 void setMin(java.lang.Object min)
          Sets deinterpolation range lower limit value.
 void setScale(double scale)
          Sets deinterpolation value scalar factor.
 void setValue(java.sql.CallableStatement call, int column)
          Sets deinterpolator value from a callable statement.
 void setValue(DataValue value)
          Sets the value to be deinterpolated.
 void setValue(java.lang.Object value)
          Sets deinterpolator value from an object.
 void setValue(java.sql.ResultSet set, int column)
          Sets deinterpolator value from a callable statement.
 void setValue(java.lang.String data, java.text.ParsePosition status)
          Sets deinterpolator value from a string.
 void setZero(double zero)
          Sets deinterpolation value zero value.
 short shortValue()
          Gets deinterpolated short value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

M_max

protected java.lang.Object M_max
Deinterpolation range upper limit.


M_min

protected java.lang.Object M_min
Deinterpolation range lower limit.


M_value

protected DataValue M_value
The value to be interpolated.


M_scale

protected double M_scale
Interpolated value multiplier.


M_zero

protected double M_zero
Interpolated value offset.

Constructor Detail

Deinterpolator

public Deinterpolator(Deinterpolator d)
Deep copy constructor.


Deinterpolator

public Deinterpolator(java.lang.Object min,
                      java.lang.Object max)
Creates a new deinterpolated value with given deinterpolation range and default multiplier and offset values. The given range may be expressed as data values or strings. If given as strings, the strings will be interpreted as data values later.

Parameters:
min - deinterpolation range lower limit (a DataValue or String)
max - deinterpolation range upper limit (a DataValue or String)
See Also:
getMax(), getMin(), setMax(java.lang.Object), setMin(java.lang.Object)

Deinterpolator

public Deinterpolator(java.lang.Object min,
                      java.lang.Object max,
                      double from,
                      double to)
Creates a new deinterpolated value with given deinterpolation range and multiplier and offset values. The given range may be expressed as data values or strings. If given as strings, the strings will be interpreted as data values later.

Parameters:
min - deinterpolation range lower limit (a DataValue or String)
max - deinterpolation range upper limit (a DataValue or String)
from - deinterpolation result range lower limit
to - deinterpolation result range upper limit
See Also:
getMax(), getMin(), setMax(java.lang.Object), setMin(java.lang.Object)
Method Detail

dup

public com.davisor.core.Dupable dup()
Makes a deep copy of this object.

Specified by:
dup in interface com.davisor.core.Dupable

byteValue

public byte byteValue()
Gets deinterpolated byte value. However, if deinterpolation fails for any reason, NaN is returned.


doubleValue

public double doubleValue()
Gets deinterpolated double value. However, if deinterpolation fails for any reason, NaN is returned.


floatValue

public float floatValue()
Gets the deinterpolated float value. However, if deinterpolation fails for any reason, NaN is returned.


intValue

public int intValue()
Gets deinterpolated int value. However, if deinterpolation fails for any reason, NaN is returned.


longValue

public long longValue()
Gets deinterpolated long value. However, if deinterpolation fails for any reason, NaN is returned.


shortValue

public short shortValue()
Gets deinterpolated short value. However, if deinterpolation fails for any reason, NaN is returned.


getMax

public DataValue getMax()
                 throws InvalidDataException
Gets deinterpolation range upper limit value. If the upper limit is not currently a data value, it is converted to one now, and the new value will be used thereafter until explicitly changed again.

Returns:
deinterpolation range upper limit data value
Throws:
InvalidDataException - if the limit is not and can not be converted to a data value
See Also:
getMin(), setMax(java.lang.Object)

getMaxValue

public double getMaxValue()
Gets the deinterpolation range upper limit number value. This is the value returned by the Number interface methods when interpolated value equals to interpolation range upper limit value.

Returns:
deinterpolation range upper limit number value
See Also:
getMax(), getMinValue(), getScale()

getMin

public DataValue getMin()
                 throws InvalidDataException
Gets deinterpolation range lowerlimit value. If the lower limit is not currently a data value, it is converted to one now, and the new value will be used thereafter until explicitly changed again.

Returns:
deinterpolation range lower limit data value
Throws:
InvalidDataException - if the limit is not and can not be converted to a data value
See Also:
getMax(), setMin(java.lang.Object)

getMinValue

public double getMinValue()
Gets the deinterpolation range lower limit number value. This is the value returned by the Number interface methods when interpolated value equals to interpolation range lover limit value.

Returns:
deinterpolation range lower limit number value
See Also:
getMin(), getMaxValue(), getZero()

getScale

public double getScale()
Gets deinterpolation value scalar factor.

See Also:
getMaxValue(), getZero()

getType

public Type getType()
             throws InvalidDataException
Gets deinterpolator range type. The type is taken from the range lower limit value type. If the lower limit is not currently a data value, it is converted to one now, and the new value will be used thereafter until explicitly changed again.

Returns:
deinterpolation range data type
Throws:
InvalidDataException - if the type can not be resolved
See Also:
getMin()

getValue

public DataValue getValue()
Gets the value to be deinterpolated.


getZero

public double getZero()
Gets deinterpolation value zero value.

See Also:
getScale(), getMinValue()

setMax

public void setMax(java.lang.Object max)
Sets deinterpolation range upper limit value. The value may be expressed as a data value or a string. If given as a string, the string will be interpreted as a data value later.

Parameters:
max - deinterpolation range upper limit (a DataValue or String)
See Also:
getMax(), setMin(java.lang.Object)

setMin

public void setMin(java.lang.Object min)
Sets deinterpolation range lower limit value. The value may be expressed as a data value or a string. If given as a string, the string will be interpreted as a data value later.

Parameters:
min - deinterpolation range lower limit (a DataValue or String)
See Also:
getMin(), setMax(java.lang.Object)

setScale

public void setScale(double scale)
Sets deinterpolation value scalar factor.


setValue

public void setValue(DataValue value)
Sets the value to be deinterpolated.

See Also:
setMin(java.lang.Object), setMax(java.lang.Object)

setZero

public void setZero(double zero)
Sets deinterpolation value zero value.


setValue

public void setValue(java.lang.String data,
                     java.text.ParsePosition status)
              throws InvalidDataException
Sets deinterpolator value from a string. The string is first converted to a data value with the current type, and the resulting data value is applied to this deinterpolator.

Parameters:
data - a data string
status - parse status
Throws:
InvalidDataException - if data can not be converted
See Also:
getType(), setValue(DataValue), Type.toData(String,ParsePosition)

setValue

public void setValue(java.lang.Object value)
              throws InvalidDataException
Sets deinterpolator value from an object. The object is first converted to a data value with the current type, and the resulting data value is applied to this deinterpolator.

Parameters:
value - the object to be converted
Throws:
InvalidDataException - if object can not be converted
See Also:
getType(), setValue(DataValue), Type.toData(Object)

setValue

public void setValue(java.sql.CallableStatement call,
                     int column)
              throws InvalidDataException,
                     java.sql.SQLException
Sets deinterpolator value from a callable statement. The statement value is first converted to a data value with the current type, and the resulting data value is applied to this deinterpolator.

Parameters:
call - source statement
column - source column
Throws:
InvalidDataException - if statement data can not be converted
java.sql.SQLException - if SQL error occurs
See Also:
getType(), setValue(DataValue), Type.toData(CallableStatement,int)

setValue

public void setValue(java.sql.ResultSet set,
                     int column)
              throws InvalidDataException,
                     java.sql.SQLException
Sets deinterpolator value from a callable statement. The statement value is first converted to a data value with the current type, and the resulting data value is applied to this deinterpolator.

Parameters:
set - source result set
column - source column
Throws:
InvalidDataException - if result set data can not be converted
java.sql.SQLException - if SQL error occurs
See Also:
getType(), setValue(DataValue), Type.toData(ResultSet,int)


Copyright © 2001-2004 Davisor Oy. All Rights Reserved.