Class QuantityFunctions
units
and quantities
with Java
functional interfaces like Function.- Since:
- 2.0
- Version:
- 1.0.3
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <Q extends javax.measure.Quantity<Q>>
Predicate<javax.measure.Quantity<Q>> fiterByExcludingUnit
(javax.measure.Unit<Q>... units) Predicate to filter excluding these unitsstatic <Q extends javax.measure.Quantity<Q>>
Predicate<javax.measure.Quantity<Q>> fiterByUnit
(javax.measure.Unit<Q>... units) Predicate to filter to one or more unitsstatic <Q extends javax.measure.Quantity<Q>>
Function<javax.measure.Quantity<Q>, javax.measure.Unit<Q>> creates a function to group quantities by theirunit
.static <Q extends javax.measure.Quantity<Q>>
Predicate<javax.measure.Quantity<Q>> creates a Filter to between, lesser or equals and greater or equals, than number, ignoring unitsstatic <Q extends javax.measure.Quantity<Q>>
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 measurestatic <Q extends javax.measure.Quantity<Q>>
Predicate<javax.measure.Quantity<Q>> isGreaterThan
(Number value) creates a Filter to greater than number, ignoring unitsstatic <Q extends javax.measure.Quantity<Q>>
Predicate<javax.measure.Quantity<Q>> isGreaterThan
(javax.measure.Quantity<Q> quantity) creates a filter to greater than the quantity measurestatic <Q extends javax.measure.Quantity<Q>>
Predicate<javax.measure.Quantity<Q>> isGreaterThanOrEqualTo
(Number value) creates a Filter to greater or equals than number, ignoring unitsstatic <Q extends javax.measure.Quantity<Q>>
Predicate<javax.measure.Quantity<Q>> isGreaterThanOrEqualTo
(javax.measure.Quantity<Q> quantity) creates a filter to greater or equals than the quantity measurestatic <Q extends javax.measure.Quantity<Q>>
Predicate<javax.measure.Quantity<Q>> isLessThan
(Number value) creates a Filter to lesser than number, ignoring unitsstatic <Q extends javax.measure.Quantity<Q>>
Predicate<javax.measure.Quantity<Q>> isLessThan
(javax.measure.Quantity<Q> quantity) creates a filter to lesser than the quantity measurestatic <Q extends javax.measure.Quantity<Q>>
Predicate<javax.measure.Quantity<Q>> isLessThanOrEqualTo
(Number value) creates a Filter to lesser or equals than number, ignoring unitsstatic <Q extends javax.measure.Quantity<Q>>
Predicate<javax.measure.Quantity<Q>> isLessThanOrEqualTo
(javax.measure.Quantity<Q> quantity) creates a filter to lesser or equals than the quantity measurestatic <Q extends javax.measure.Quantity<Q>>
BinaryOperator<javax.measure.Quantity<Q>> max()
Creates a BinaryOperator to calculate the maximum Quantitystatic <Q extends javax.measure.Quantity<Q>>
BinaryOperator<javax.measure.Quantity<Q>> min()
Creates a BinaryOperator to calculate the minimum Quantitystatic <Q extends javax.measure.Quantity<Q>>
Comparator<javax.measure.Quantity<Q>> Creates a comparator to sort by natural order, looking to both the unit and the value.static <Q extends javax.measure.Quantity<Q>>
Comparator<javax.measure.Quantity<Q>> Creates a comparator to sort by natural order descending, looking to both the unit and the value.static <Q extends javax.measure.Quantity<Q>>
Comparator<javax.measure.Quantity<Q>> Creates a comparator to sort by number, ignoring the unit.static <Q extends javax.measure.Quantity<Q>>
Comparator<javax.measure.Quantity<Q>> Creates a comparator to sort by number descending, ignoring the unit.static <Q extends javax.measure.Quantity<Q>>
Comparator<javax.measure.Quantity<Q>> Creates a comparator to sort by name, ignoring the value.static <Q extends javax.measure.Quantity<Q>>
Comparator<javax.measure.Quantity<Q>> Creates a comparator to sort by name descending, ignoring the value.static <Q extends javax.measure.Quantity<Q>>
BinaryOperator<javax.measure.Quantity<Q>> sum()
Creates a BinaryOperator to sum.static <Q extends javax.measure.Quantity<Q>>
BinaryOperator<javax.measure.Quantity<Q>> sum
(javax.measure.Unit<Q> unit) Creates a BinaryOperator to sum converting to unit
-
Constructor Details
-
QuantityFunctions
private QuantityFunctions()
-
-
Method Details
-
sortNumber
public static <Q extends javax.measure.Quantity<Q>> 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:
NullPointerException
-
sortNumberDesc
public static <Q extends javax.measure.Quantity<Q>> Comparator<javax.measure.Quantity<Q>> sortNumberDesc()Creates a comparator to sort by number descending, ignoring the unit.- Returns:
Given:
Quantity
day = timeFactory.create(1, Units.DAY);
Quantityhours = timeFactory.create(18, Units.HOUR);
Quantityminutes = timeFactory.create(15, Units.HOUR);
Quantityseconds = timeFactory.create(100, Units.HOUR);
will return:
seconds, hours, minutes, day
- Throws:
NullPointerException
-
sortSymbol
public static <Q extends javax.measure.Quantity<Q>> Comparator<javax.measure.Quantity<Q>> sortSymbol()Creates a comparator to sort by name, ignoring the value.- Returns:
Given:
Quantity
day = timeFactory.create(1, Units.DAY);
Quantityhours = timeFactory.create(18, Units.HOUR);
Quantityminutes = timeFactory.create(15, Units.HOUR);
Quantityseconds = timeFactory.create(100, Units.HOUR);
will return:
day, hours, minutes, seconds
- Throws:
NullPointerException
-
sortSymbolDesc
public static <Q extends javax.measure.Quantity<Q>> Comparator<javax.measure.Quantity<Q>> sortSymbolDesc()Creates a comparator to sort by name descending, ignoring the value.- Returns:
Given:
Quantity
day = timeFactory.create(1, Units.DAY);
Quantityhours = timeFactory.create(18, Units.HOUR);
Quantityminutes = timeFactory.create(15, Units.HOUR);
Quantityseconds = timeFactory.create(100, Units.HOUR);
will return:
seconds, minutes, hour, day
- Throws:
NullPointerException
-
sortNatural
public static <Q extends javax.measure.Quantity<Q>> 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
day = timeFactory.create(1, Units.DAY);
Quantityhours = timeFactory.create(18, Units.HOUR);
Quantityminutes = timeFactory.create(15, Units.HOUR);
Quantityseconds = timeFactory.create(100, Units.HOUR);
will return:
seconds, minutes, hours, day
- Throws:
NullPointerException
-
sortNaturalDesc
public static <Q extends javax.measure.Quantity<Q>> 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
day = timeFactory.create(1, Units.DAY);
Quantityhours = timeFactory.create(18, Units.HOUR);
Quantityminutes = timeFactory.create(15, Units.HOUR);
Quantityseconds = timeFactory.create(100, Units.HOUR);
will return:
day, hour, minute, second
- Throws:
NullPointerException
-
min
Creates a BinaryOperator to calculate the minimum Quantity- Returns:
- the min BinaryOperator, not null.
-
max
Creates a BinaryOperator to calculate the maximum Quantity- Returns:
- the max BinaryOperator, not null.
-
sum
Creates a BinaryOperator to sum.- Returns:
- the sum BinaryOperator
-
sum
public static <Q extends javax.measure.Quantity<Q>> 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>> 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>> 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>> Predicate<javax.measure.Quantity<Q>> isGreaterThan(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>> 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>> Predicate<javax.measure.Quantity<Q>> isGreaterThanOrEqualTo(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>> 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
-
isLessThan
public static <Q extends javax.measure.Quantity<Q>> Predicate<javax.measure.Quantity<Q>> isLessThan(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
-
isLessThan
public static <Q extends javax.measure.Quantity<Q>> Predicate<javax.measure.Quantity<Q>> isLessThan(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
-
isLessThanOrEqualTo
public static <Q extends javax.measure.Quantity<Q>> Predicate<javax.measure.Quantity<Q>> isLessThanOrEqualTo(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
-
isLessThanOrEqualTo
public static <Q extends javax.measure.Quantity<Q>> Predicate<javax.measure.Quantity<Q>> isLessThanOrEqualTo(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>> Predicate<javax.measure.Quantity<Q>> isBetween(Number min, 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 Predicatemax
- - 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>> 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 Predicatemax
- - the max value to be used in Predicate- Returns:
- the Predicate lesser or equals than this measure
-
groupByUnit
public static <Q extends javax.measure.Quantity<Q>> Function<javax.measure.Quantity<Q>,javax.measure.Unit<Q>> groupByUnit()creates a function to group quantities by theirunit
.- Returns:
- the Function of
Quantity
grouped byUnit
-