Class UnitConverter

    • Field Detail

      • IDENTITY

        public static final UnitConverter IDENTITY
        Holds the identity converter (unique). This converter does nothing (ONE.convert(x) == x).
    • Constructor Detail

      • UnitConverter

        protected UnitConverter()
        Default constructor.
    • Method Detail

      • inverse

        public abstract UnitConverter inverse()
        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.
        Returns:
        the inverse of this converter.
      • convert

        public abstract double convert​(double x)
                                throws ConversionException
        Converts a double value.
        Parameters:
        x - the numeric value to convert.
        Returns:
        the converted numeric value.
        Throws:
        ConversionException - if an error occurs during conversion.
      • isLinear

        public abstract boolean isLinear()
        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]
        Returns:
        true if this converter is linear; false otherwise.
      • equals

        public boolean equals​(Object cvtr)
        Indicates whether this converter is considered the same as the converter specified. To be considered equal this converter concatenated with the one specified must returns the IDENTITY.
        Overrides:
        equals in class Object
        Parameters:
        cvtr - the converter with which to compare.
        Returns:
        true if the specified object is a converter considered equals to this converter;false otherwise.
      • hashCode

        public int hashCode()
        Returns a hash code value for this converter. Equals object have equal hash codes.
        Overrides:
        hashCode in class Object
        Returns:
        this converter hash code value.
        See Also:
        equals(java.lang.Object)
      • concatenate

        public UnitConverter concatenate​(UnitConverter converter)
        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 IDENTITY instance is returned if the resulting converter is an identity converter.

        Parameters:
        converter - the other converter.
        Returns:
        the concatenation of this converter with the other converter.