-
- -

Class FunctionalUnit

-
-
- -
-
    -
  • -
    -
    final class FunctionalUnit
    -extends Unit
    -
    A unit that uses functional objects to convert to and from its base.
    -
    -
    Since:
    -
    2019-05-22
    -
    Author:
    -
    Adrien Hopkins
    -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Field Summary

      - - - - - - - - - - - - - - - - - -
      Fields 
      Modifier and TypeFieldDescription
      private java.util.function.DoubleUnaryOperatorconverterFrom -
      A function that accepts a value expressed in the unit's base and returns that value expressed in this unit.
      -
      private java.util.function.DoubleUnaryOperatorconverterTo -
      A function that accepts a value expressed in the unit and returns that value expressed in the unit's base.
      -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Constructor Summary

      - - - - - - - - - - - - -
      Constructors 
      ModifierConstructorDescription
      private FunctionalUnit​(ObjectProduct<BaseUnit> base, - java.util.function.DoubleUnaryOperator converterFrom, - java.util.function.DoubleUnaryOperator converterTo) -
      Creates the FunctionalUnit.
      -
      -
    • -
    -
    - -
    - -
    -
  • -
-
-
-
    -
  • - -
    -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        converterFrom

        -
        private final java.util.function.DoubleUnaryOperator converterFrom
        -
        A function that accepts a value expressed in the unit's base and returns that value expressed in this unit.
        -
        -
        Since:
        -
        2019-05-22
        -
        -
      • -
      - - - -
        -
      • -

        converterTo

        -
        private final java.util.function.DoubleUnaryOperator converterTo
        -
        A function that accepts a value expressed in the unit and returns that value expressed in the unit's base.
        -
        -
        Since:
        -
        2019-05-22
        -
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        FunctionalUnit

        -
        private FunctionalUnit​(ObjectProduct<BaseUnit> base,
        -                       java.util.function.DoubleUnaryOperator converterFrom,
        -                       java.util.function.DoubleUnaryOperator converterTo)
        -
        Creates the FunctionalUnit.
        -
        -
        Parameters:
        -
        base - unit's base
        -
        converterFrom - function that accepts a value expressed in the unit's base and returns that value expressed in this - unit.
        -
        converterTo - function that accepts a value expressed in the unit and returns that value expressed in the unit's - base.
        -
        Throws:
        -
        java.lang.NullPointerException - if any argument is null
        -
        Since:
        -
        2019-05-22
        -
        -
      • -
      -
    • -
    -
    - -
    -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        valueOf

        -
        public static FunctionalUnit valueOf​(ObjectProduct<BaseUnit> base,
        -                                     java.util.function.DoubleUnaryOperator converterFrom,
        -                                     java.util.function.DoubleUnaryOperator converterTo)
        -
        Returns a unit from its base and the functions it uses to convert to and from its base.
        -
        -
        Parameters:
        -
        base - unit's base
        -
        converterFrom - function that accepts a value expressed in the unit's base and returns that value expressed in this - unit.
        -
        converterTo - function that accepts a value expressed in the unit and returns that value expressed in the unit's - base.
        -
        Returns:
        -
        a unit that uses the provided functions to convert.
        -
        Throws:
        -
        java.lang.NullPointerException - if any argument is null
        -
        Since:
        -
        2019-05-22
        -
        -
      • -
      - - - -
        -
      • -

        convertFromBase

        -
        public double convertFromBase​(double value)
        -
        Description copied from class: Unit
        -
        Converts from a value expressed in this unit's base unit to a value expressed in this unit. -

        - This must be the inverse of convertToBase, so convertFromBase(convertToBase(value)) must be equal - to value for any value, ignoring precision loss by roundoff error. -

        -

        - If this unit is a base unit, this method should return value. -

        -
        -
        Specified by:
        -
        convertFromBase in class Unit
        -
        Parameters:
        -
        value - value expressed in base unit
        -
        Returns:
        -
        value expressed in this unit
        -
        -
      • -
      - - - -
        -
      • -

        convertToBase

        -
        public double convertToBase​(double value)
        -
        Description copied from class: Unit
        -
        Converts from a value expressed in this unit to a value expressed in this unit's base unit. -

        - This must be the inverse of convertFromBase, so convertToBase(convertFromBase(value)) must be - equal to value for any value, ignoring precision loss by roundoff error. -

        -

        - If this unit is a base unit, this method should return value. -

        -
        -
        Specified by:
        -
        convertToBase in class Unit
        -
        Parameters:
        -
        value - value expressed in this unit
        -
        Returns:
        -
        value expressed in base unit
        -
        -
      • -
      -
    • -
    -
    -
  • -
-
-
-