Class QuantityFunctions


  • public final class QuantityFunctions
    extends java.lang.Object
    Since:
    1.0
    Version:
    1.0
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private QuantityFunctions()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      fiterByExcludingUnit​(javax.measure.Unit<Q>... units)
      Predicate to filter excluding these units
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      fiterByUnit​(javax.measure.Unit<Q>... units)
      Predicate to filter to one or more units
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Function<javax.measure.Quantity<Q>,​javax.measure.Unit<Q>>
      groupByUnit()  
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      isBetween​(java.lang.Number min, java.lang.Number max)
      creates a Filter to between, lesser or equals and greater or equals, than number, ignoring units
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      isBetween​(javax.measure.Quantity<Q> min, javax.measure.Quantity<Q> max)
      creates a filter to between, lesser or equals and greater or equals, than the quantity measure
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      isGreaterThan​(java.lang.Number value)
      creates a Filter to greater than number, ignoring units
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      isGreaterThan​(javax.measure.Quantity<Q> quantity)
      creates a filter to greater than the quantity measure
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      isGreaterThanOrEqualTo​(java.lang.Number value)
      creates a Filter to greater or equals than number, ignoring units
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      isGreaterThanOrEqualTo​(javax.measure.Quantity<Q> quantity)
      creates a filter to greater or equals than the quantity measure
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      isLesserThan​(java.lang.Number value)
      creates a Filter to lesser than number, ignoring units
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      isLesserThan​(javax.measure.Quantity<Q> quantity)
      creates a filter to lesser than the quantity measure
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      isLesserThanOrEqualTo​(java.lang.Number value)
      creates a Filter to lesser or equals than number, ignoring units
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.Predicate<javax.measure.Quantity<Q>>
      isLesserThanOrEqualTo​(javax.measure.Quantity<Q> quantity)
      creates a filter to lesser or equals than the quantity measure
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.BinaryOperator<javax.measure.Quantity<Q>>
      max()
      Creates a BinaryOperator to calculate the maximum Quantity
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.BinaryOperator<javax.measure.Quantity<Q>>
      min()
      Creates a BinaryOperator to calculate the minimum Quantity
      static <Q extends javax.measure.Quantity<Q>>
      java.util.Comparator<javax.measure.Quantity<Q>>
      sortNatural()
      Creates a comparator to sort by natural order, looking to both the unit and the value.
      static <Q extends javax.measure.Quantity<Q>>
      java.util.Comparator<javax.measure.Quantity<Q>>
      sortNaturalDesc()
      Creates a comparator to sort by natural order descending, looking to both the unit and the value.
      static <Q extends javax.measure.Quantity<Q>>
      java.util.Comparator<javax.measure.Quantity<Q>>
      sortNumber()
      Creates a comparator to sort by number, ignoring the unit.
      static <Q extends javax.measure.Quantity<Q>>
      java.util.Comparator<javax.measure.Quantity<Q>>
      sortNumberDesc()
      Creates a comparator to sort by number descending, ignoring the unit.
      static <Q extends javax.measure.Quantity<Q>>
      java.util.Comparator<javax.measure.Quantity<Q>>
      sortSymbol()
      Creates a comparator to sort by name, ignoring the value.
      static <Q extends javax.measure.Quantity<Q>>
      java.util.Comparator<javax.measure.Quantity<Q>>
      sortSymbolDesc()
      Creates a comparator to sort by name descending, ignoring the value.
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.BinaryOperator<javax.measure.Quantity<Q>>
      sum()
      Creates a BinaryOperator to sum.
      static <Q extends javax.measure.Quantity<Q>>
      java.util.function.BinaryOperator<javax.measure.Quantity<Q>>
      sum​(javax.measure.Unit<Q> unit)
      Creates a BinaryOperator to sum converting to unit
      static <Q extends javax.measure.Quantity<Q>>
      java.util.stream.Collector<javax.measure.Quantity<Q>,​QuantitySummaryStatistics<Q>,​QuantitySummaryStatistics<Q>>
      summarizeQuantity​(javax.measure.Unit<Q> unit)
      Summary of Quantity
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • QuantityFunctions

        private QuantityFunctions()
    • Method Detail

      • sortNumber

        public static <Q extends javax.measure.Quantity<Q>> java.util.Comparator<javax.measure.Quantity<Q>> sortNumber()
        Creates a comparator to sort by number, ignoring the unit.
        Returns:

        Given:

        Quantity

        will return: day, hours, minutes, seconds

        Throws:
        java.lang.NullPointerException
      • sortNumberDesc

        public static <Q extends javax.measure.Quantity<Q>> java.util.Comparator<javax.measure.Quantity<Q>> sortNumberDesc()
        Creates a comparator to sort by number descending, ignoring the unit.
        Returns:

        Given:

        Quantity

        will return: seconds, hours, minutes, day

        Throws:
        java.lang.NullPointerException
      • sortSymbol

        public static <Q extends javax.measure.Quantity<Q>> java.util.Comparator<javax.measure.Quantity<Q>> sortSymbol()
        Creates a comparator to sort by name, ignoring the value.
        Returns:

        Given:

        Quantity

        will return: day, hours, minutes, seconds

        Throws:
        java.lang.NullPointerException
      • sortSymbolDesc

        public static <Q extends javax.measure.Quantity<Q>> java.util.Comparator<javax.measure.Quantity<Q>> sortSymbolDesc()
        Creates a comparator to sort by name descending, ignoring the value.
        Returns:

        Given:

        Quantity

        will return: seconds, minutes, hour, day

        Throws:
        java.lang.NullPointerException
      • sortNatural

        public static <Q extends javax.measure.Quantity<Q>> java.util.Comparator<javax.measure.Quantity<Q>> sortNatural()
        Creates a comparator to sort by natural order, looking to both the unit and the value.
        Returns:

        Given:

        Quantity

        will return: seconds, minutes, hours, day

        Throws:
        java.lang.NullPointerException
      • sortNaturalDesc

        public static <Q extends javax.measure.Quantity<Q>> java.util.Comparator<javax.measure.Quantity<Q>> sortNaturalDesc()
        Creates a comparator to sort by natural order descending, looking to both the unit and the value.
        Returns:

        Given:

        Quantity

        will return: day, hour, minute, second

        Throws:
        java.lang.NullPointerException
      • min

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.BinaryOperator<javax.measure.Quantity<Q>> min()
        Creates a BinaryOperator to calculate the minimum Quantity
        Returns:
        the min BinaryOperator, not null.
      • max

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.BinaryOperator<javax.measure.Quantity<Q>> max()
        Creates a BinaryOperator to calculate the maximum Quantity
        Returns:
        the max BinaryOperator, not null.
      • sum

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.BinaryOperator<javax.measure.Quantity<Q>> sum()
        Creates a BinaryOperator to sum.
        Returns:
        the sum BinaryOperator
      • sum

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.BinaryOperator<javax.measure.Quantity<Q>> sum​(javax.measure.Unit<Q> unit)
        Creates a BinaryOperator to sum converting to unit
        Parameters:
        unit - unit to be converting
        Returns:
        the sum BinaryOperator converting to unit
      • fiterByUnit

        @SafeVarargs
        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> fiterByUnit​(javax.measure.Unit<Q>... units)
        Predicate to filter to one or more units
        Parameters:
        units - - units to be filtered (optional)
        Returns:
        A predicate to filter one or more units
      • fiterByExcludingUnit

        @SafeVarargs
        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> fiterByExcludingUnit​(javax.measure.Unit<Q>... units)
        Predicate to filter excluding these units
        Parameters:
        units - - units to be filtered (optional)
        Returns:
        A predicate to filter to not be these units
      • isGreaterThan

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> isGreaterThan​(java.lang.Number value)
        creates a Filter to greater than number, ignoring units
        Parameters:
        value - - the value to be used in Predicate
        Returns:
        the Predicate greater than this number, ignoring units
      • isGreaterThan

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> isGreaterThan​(javax.measure.Quantity<Q> quantity)
        creates a filter to greater than the quantity measure
        Parameters:
        quantity - - the measure to be used in filter
        Returns:
        the Predicate greater than this measure
      • isGreaterThanOrEqualTo

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> isGreaterThanOrEqualTo​(java.lang.Number value)
        creates a Filter to greater or equals than number, ignoring units
        Parameters:
        value - - the value to be used in Predicate
        Returns:
        the Predicate greater or equals than this number, ignoring units
      • isGreaterThanOrEqualTo

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> isGreaterThanOrEqualTo​(javax.measure.Quantity<Q> quantity)
        creates a filter to greater or equals than the quantity measure
        Parameters:
        quantity - - the measure to be used in filter
        Returns:
        the Predicate greater or equals than this measure
      • isLesserThan

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> isLesserThan​(java.lang.Number value)
        creates a Filter to lesser than number, ignoring units
        Parameters:
        value - - the value to be used in Predicate
        Returns:
        the Predicate greater than this number, ignoring units
      • isLesserThan

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> isLesserThan​(javax.measure.Quantity<Q> quantity)
        creates a filter to lesser than the quantity measure
        Parameters:
        quantity - - the measure to be used in filter
        Returns:
        the Predicate lesser than this measure
      • isLesserThanOrEqualTo

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> isLesserThanOrEqualTo​(java.lang.Number value)
        creates a Filter to lesser or equals than number, ignoring units
        Parameters:
        value - - the value to be used in Predicate
        Returns:
        the Predicate lesser or equals than this number, ignoring units
      • isLesserThanOrEqualTo

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> isLesserThanOrEqualTo​(javax.measure.Quantity<Q> quantity)
        creates a filter to lesser or equals than the quantity measure
        Parameters:
        quantity - - the measure to be used in filter
        Returns:
        the Predicate lesser or equals than this measure
      • isBetween

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> isBetween​(java.lang.Number min,
                                                                                                                              java.lang.Number max)
        creates a Filter to between, lesser or equals and greater or equals, than number, ignoring units
        Parameters:
        min - - the min value to be used in Predicate
        max - - the max value to be used in Predicate
        Returns:
        the Predicate lesser or equals than this number, ignoring units
      • isBetween

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Predicate<javax.measure.Quantity<Q>> isBetween​(javax.measure.Quantity<Q> min,
                                                                                                                              javax.measure.Quantity<Q> max)
        creates a filter to between, lesser or equals and greater or equals, than the quantity measure
        Parameters:
        min - - the min value to be used in Predicate
        max - - the max value to be used in Predicate
        Returns:
        the Predicate lesser or equals than this measure
      • summarizeQuantity

        public static <Q extends javax.measure.Quantity<Q>> java.util.stream.Collector<javax.measure.Quantity<Q>,​QuantitySummaryStatistics<Q>,​QuantitySummaryStatistics<Q>> summarizeQuantity​(javax.measure.Unit<Q> unit)
        Summary of Quantity
        Returns:
        the QuantitySummaryStatistics
      • groupByUnit

        public static <Q extends javax.measure.Quantity<Q>> java.util.function.Function<javax.measure.Quantity<Q>,​javax.measure.Unit<Q>> groupByUnit()