JScience v4.3

javax.measure.converter
Class MultiplyConverter

java.lang.Object
  extended by javax.measure.converter.UnitConverter
      extended by javax.measure.converter.MultiplyConverter
All Implemented Interfaces:
java.io.Serializable

public final class MultiplyConverter
extends UnitConverter

This class represents a converter multiplying numeric values by a constant scaling factor (approximated as a double). For exact scaling conversions RationalConverter is preferred.

Instances of this class are immutable.

Version:
3.1, April 22, 2006
Author:
Jean-Marie Dautelle
See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.measure.converter.UnitConverter
IDENTITY
 
Constructor Summary
MultiplyConverter(double factor)
          Creates a multiply converter with the specified scale factor.
 
Method Summary
 UnitConverter concatenate(UnitConverter converter)
          Concatenates this converter with another converter.
 double convert(double amount)
          Converts a double value.
 double getFactor()
          Returns the scale factor.
 UnitConverter inverse()
          Returns the inverse of this converter.
 boolean isLinear()
          Indicates if this converter is linear.
 
Methods inherited from class javax.measure.converter.UnitConverter
equals, hashCode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiplyConverter

public MultiplyConverter(double factor)
Creates a multiply converter with the specified scale factor.

Parameters:
factor - the scale factor.
Throws:
java.lang.IllegalArgumentException - if offset is one (or close to one).
Method Detail

getFactor

public double getFactor()
Returns the scale factor.

Returns:
the scale factor.

inverse

public UnitConverter inverse()
Description copied from class: UnitConverter
Returns the inverse of this converter. If x is a valid value, then x == inverse().convert(convert(x)) to within the accuracy of computer arithmetic.

Specified by:
inverse in class UnitConverter
Returns:
the inverse of this converter.

convert

public double convert(double amount)
Description copied from class: UnitConverter
Converts a double value.

Specified by:
convert in class UnitConverter
Parameters:
amount - the numeric value to convert.
Returns:
the converted numeric value.

isLinear

public boolean isLinear()
Description copied from class: UnitConverter
Indicates if this converter is linear. A converter is linear if convert(u + v) == convert(u) + convert(v) and convert(r * u) == r * convert(u). For linear converters the following property always hold:
     y1 = c1.convert(x1);
     y2 = c2.convert(x2); 
 then y1*y2 = c1.concatenate(c2).convert(x1*x2)

Specified by:
isLinear in class UnitConverter
Returns:
true if this converter is linear; false otherwise.

concatenate

public UnitConverter concatenate(UnitConverter converter)
Description copied from class: UnitConverter
Concatenates this converter with another converter. The resulting converter is equivalent to first converting by the specified converter, and then converting by this converter.

Note: Implementations must ensure that the UnitConverter.IDENTITY instance is returned if the resulting converter is an identity converter.

Overrides:
concatenate in class UnitConverter
Parameters:
converter - the other converter.
Returns:
the concatenation of this converter with the other converter.

JScience v4.3

Copyright © 2006 JScience.