Package tech.units.indriya.quantity
Class IntegerQuantity<Q extends javax.measure.Quantity<Q>>
- java.lang.Object
-
- tech.units.indriya.AbstractQuantity<Q>
-
- tech.units.indriya.quantity.IntegerQuantity<Q>
-
- Type Parameters:
Q- The type of the quantity.
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable<javax.measure.Quantity<Q>>,javax.measure.Quantity<Q>,ComparableQuantity<Q>,tech.uom.lib.common.function.QuantityConverter<Q>,tech.uom.lib.common.function.UnitSupplier<Q>,tech.uom.lib.common.function.ValueSupplier<java.lang.Number>
final class IntegerQuantity<Q extends javax.measure.Quantity<Q>> extends AbstractQuantity<Q>
An amount of quantity, consisting of an integer and a Unit. IntegerQuantity objects are immutable.- Since:
- 1.0.7
- Version:
- 0.4, $Date: 2017-05-28 $
- See Also:
AbstractQuantity,Quantity
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class tech.units.indriya.AbstractQuantity
AbstractQuantity.Equalizer
-
-
Field Summary
Fields Modifier and Type Field Description private static longserialVersionUID(package private) intvalue-
Fields inherited from class tech.units.indriya.AbstractQuantity
NONE, ONE
-
-
Constructor Summary
Constructors Constructor Description IntegerQuantity(int value, javax.measure.Unit<Q> unit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ComparableQuantity<Q>add(javax.measure.Quantity<Q> that)private ComparableQuantity<Q>addRaw(java.lang.Number a, java.lang.Number b, javax.measure.Unit<Q> unit)java.math.BigDecimaldecimalValue(javax.measure.Unit<Q> unit)ComparableQuantity<Q>divide(java.lang.Number that)ComparableQuantity<?>divide(javax.measure.Quantity<?> that)doubledoubleValue(javax.measure.Unit<Q> unit)booleanequals(java.lang.Object obj)Compares this quantity against the specified object for strict equality (same unit and same amount).java.lang.IntegergetValue()Returns the numeric value of the quantity.AbstractQuantity<Q>inverse()booleanisBig()private booleanisOverflowing(double value)longlongValue(javax.measure.Unit<Q> unit)ComparableQuantity<Q>multiply(java.lang.Number that)ComparableQuantity<?>multiply(javax.measure.Quantity<?> that)ComparableQuantity<Q>subtract(javax.measure.Quantity<Q> that)-
Methods inherited from class tech.units.indriya.AbstractQuantity
asType, compareTo, divide, equals, floatValue, getUnit, hasFraction, hasFraction, hashCode, intValue, inverse, isEquivalentOf, isGreaterThan, isGreaterThanOrEqualTo, isLessThan, isLessThanOrEqualTo, multiply, parse, to, toString
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
value
final int value
-
-
Constructor Detail
-
IntegerQuantity
public IntegerQuantity(int value, javax.measure.Unit<Q> unit)
-
-
Method Detail
-
getValue
public java.lang.Integer getValue()
Description copied from class:AbstractQuantityReturns the numeric value of the quantity.- Specified by:
getValuein interfacejavax.measure.Quantity<Q extends javax.measure.Quantity<Q>>- Specified by:
getValuein interfacetech.uom.lib.common.function.ValueSupplier<Q extends javax.measure.Quantity<Q>>- Specified by:
getValuein classAbstractQuantity<Q extends javax.measure.Quantity<Q>>- Returns:
- the quantity value.
-
doubleValue
public double doubleValue(javax.measure.Unit<Q> unit)
- Specified by:
doubleValuein classAbstractQuantity<Q extends javax.measure.Quantity<Q>>
-
longValue
public long longValue(javax.measure.Unit<Q> unit)
- Overrides:
longValuein classAbstractQuantity<Q extends javax.measure.Quantity<Q>>
-
isOverflowing
private boolean isOverflowing(double value)
-
addRaw
private ComparableQuantity<Q> addRaw(java.lang.Number a, java.lang.Number b, javax.measure.Unit<Q> unit)
-
add
public ComparableQuantity<Q> add(javax.measure.Quantity<Q> that)
- See Also:
Quantity.add(Quantity)
-
subtract
public ComparableQuantity<Q> subtract(javax.measure.Quantity<Q> that)
- See Also:
Quantity.subtract(Quantity)
-
multiply
public ComparableQuantity<?> multiply(javax.measure.Quantity<?> that)
- See Also:
Quantity.multiply(Quantity)
-
multiply
public ComparableQuantity<Q> multiply(java.lang.Number that)
- See Also:
Quantity.multiply(Number)
-
divide
public ComparableQuantity<?> divide(javax.measure.Quantity<?> that)
- See Also:
Quantity.divide(Quantity)
-
inverse
public AbstractQuantity<Q> inverse()
- See Also:
Quantity.inverse()
-
divide
public ComparableQuantity<Q> divide(java.lang.Number that)
- See Also:
Quantity.divide(Number)
-
equals
public boolean equals(java.lang.Object obj)
Description copied from class:AbstractQuantityCompares this quantity against the specified object for strict equality (same unit and same amount).Similarly to the
BigDecimal.equals(java.lang.Object)method which consider 2.0 and 2.00 as different objects because of different internal scales, quantities such asQuantities.getQuantity(3.0, KILOGRAM)Quantities.getQuantity(3, KILOGRAM)andQuantities.getQuantity("3 kg")might not be considered equals because of possible differences in their implementations.To compare quantities stated using different units or using different amount implementations the
compareToorequals(Quantity, epsilon, epsilonUnit)methods should be used.- Overrides:
equalsin classAbstractQuantity<Q extends javax.measure.Quantity<Q>>- Parameters:
obj- the object to compare with.- Returns:
this.getUnit.equals(obj.getUnit()) && this.getValue().equals(obj.getValue())
-
isBig
public boolean isBig()
- Specified by:
isBigin classAbstractQuantity<Q extends javax.measure.Quantity<Q>>
-
decimalValue
public java.math.BigDecimal decimalValue(javax.measure.Unit<Q> unit) throws java.lang.ArithmeticException
- Specified by:
decimalValuein classAbstractQuantity<Q extends javax.measure.Quantity<Q>>- Throws:
java.lang.ArithmeticException
-
-