Class MultiplyConverter

  • All Implemented Interfaces:
    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.

    See Also:
    Serialized Form
    • Constructor Detail

      • MultiplyConverter

        public MultiplyConverter​(double factor)
        Creates a multiply converter with the specified scale factor.
        Parameters:
        factor - the scale factor.
        Throws:
        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:[code] y1 = c1.convert(x1); y2 = c2.convert(x2); then y1*y2 = c1.concatenate(c2).convert(x1*x2)[/code]
        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.