Package org.salespointframework.quantity
Class Quantity
java.lang.Object
org.salespointframework.quantity.Quantity
A value object to represent a quantity.
- Author:
- Oliver Gierke, Martin Morgenstern
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionAdds the givenQuantity
to the current one.protected boolean
boolean
@NonNull BigDecimal
The amount of the Quantity.@NonNull Metric
The metric of the Quantity.int
hashCode()
boolean
isCompatibleWith
(Metric metric) boolean
Returns whether the currentQuantity
is equal to the given one negelecting potential differences in precision of the underlying amount.boolean
isGreaterThan
(Quantity other) Returns whether the givenQuantity
is greater than the current one.boolean
isGreaterThanOrEqualTo
(Quantity other) Returns whether the givenQuantity
is greater than or equal to the current one.boolean
isLessThan
(Quantity other) Returns whether the givenQuantity
is less than the current one.boolean
Returns whether the currentQuantity
is negative.boolean
Returns whether the currentQuantity
is positive.boolean
Returns whether the currentQuantity
is zero or negative.boolean
Returns whether the currentQuantity
is zero or positive.negate()
Returns the negatedQuantity
.static Quantity
of
(double amount) Creates a newQuantity
of the given amount.static Quantity
static Quantity
of
(long amount) Creates a newQuantity
of the given amount.static Quantity
Subtracts the given Quantity from the current one.times
(int multiplier) Creates a newQuantity
of the current one multiplied with the given int.times
(long multiplier) Creates a newQuantity
of the current one multiplied with the given long.toString()
toUnit()
Returns the currentQuantity
as units, flattening all non unit metrics into a single unit.toZero()
-
Field Details
-
NONE
-
-
Method Details
-
of
Creates a newQuantity
of the given amount. Defaults the metric toMetric.UNIT
.- Parameters:
amount
- must not be null.- Returns:
-
of
Creates a newQuantity
of the given amount. Defaults the metric toMetric.UNIT
.- Parameters:
amount
- must not be null.- Returns:
-
of
- Parameters:
amount
- must not be null.metric
- must not be null.- Returns:
-
of
- Parameters:
amount
- must not be null.metric
- must not be null.- Returns:
-
isCompatibleWith
- Parameters:
metric
- must not be null.- Returns:
-
add
Adds the givenQuantity
to the current one. -
subtract
Subtracts the given Quantity from the current one. -
isLessThan
Returns whether the givenQuantity
is less than the current one. -
times
Creates a newQuantity
of the current one multiplied with the given int.- Parameters:
multiplier
-- Returns:
- will never be null.
-
times
Creates a newQuantity
of the current one multiplied with the given long.- Parameters:
multiplier
-- Returns:
- will never be null.
-
isEqualTo
Returns whether the currentQuantity
is equal to the given one negelecting potential differences in precision of the underlying amount. I.e. an amount of 1 is considered equal to an amount of 1.0.- Parameters:
other
- must not be null.- Returns:
- Since:
- 7.2.2
-
isGreaterThan
Returns whether the givenQuantity
is greater than the current one. -
isGreaterThanOrEqualTo
Returns whether the givenQuantity
is greater than or equal to the current one. -
isPositive
public boolean isPositive()Returns whether the currentQuantity
is positive.- Returns:
- Since:
- 7.5
-
isZeroOrPositive
public boolean isZeroOrPositive()Returns whether the currentQuantity
is zero or positive.- Returns:
- Since:
- 7.5
-
isNegative
public boolean isNegative()Returns whether the currentQuantity
is negative.- Returns:
-
isZeroOrNegative
public boolean isZeroOrNegative()Returns whether the currentQuantity
is zero or negative.- Returns:
-
toZero
- Returns:
- will never be null.
-
toUnit
Returns the currentQuantity
as units, flattening all non unit metrics into a single unit.- Returns:
- will never be null.
- Since:
- 7.5
-
negate
Returns the negatedQuantity
.- Returns:
- will never be null.
- Since:
- 7.5
-
toString
-
equals
-
canEqual
-
hashCode
public int hashCode() -
getAmount
The amount of the Quantity. Explicitly set a prefixed column name to avoid name conflicts. -
getMetric
The metric of the Quantity. Explicitly set a prefixed column name to avoid name conflicts.
-