javax.measure.converter
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.
IDENTITY
Constructor and Description |
---|
MultiplyConverter(double factor)
Creates a multiply converter with the specified scale factor.
|
Modifier and Type | Method and Description |
---|---|
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.
|
equals, hashCode
public MultiplyConverter(double factor)
factor
- the scale factor.java.lang.IllegalArgumentException
- if offset is one (or close to one).public double getFactor()
public UnitConverter inverse()
UnitConverter
x
is a valid value, then
x == inverse().convert(convert(x))
to within the accuracy of computer arithmetic.inverse
in class UnitConverter
public double convert(double amount)
UnitConverter
convert
in class UnitConverter
amount
- the numeric value to convert.public boolean isLinear()
UnitConverter
convert(u + v) == convert(u) + convert(v)
and convert(r * u) == r * convert(u)
. For
linear converters the following property always hold:[code] y1 = c1.convert(x1); y2 = c2.convert(x2); then y1*y2
= c1.concatenate(c2).convert(x1*x2)[/code]isLinear
in class UnitConverter
true
if this converter is linear; false
otherwise.public UnitConverter concatenate(UnitConverter converter)
UnitConverter
Note: Implementations must ensure that the UnitConverter.IDENTITY
instance is returned if the resulting converter is
an identity converter.
concatenate
in class UnitConverter
converter
- the other converter.