Class TimeUnitQuantity

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<javax.measure.Quantity<javax.measure.quantity.Time>>, javax.measure.Quantity<javax.measure.quantity.Time>, ComparableQuantity<javax.measure.quantity.Time>, tech.uom.lib.common.function.QuantityConverter<javax.measure.quantity.Time>, tech.uom.lib.common.function.UnitSupplier<javax.measure.quantity.Time>, tech.uom.lib.common.function.ValueSupplier<java.lang.Number>

    public final class TimeUnitQuantity
    extends AbstractQuantity<javax.measure.quantity.Time>
    Class that represents TimeUnit in Unit-API
    Since:
    1.0
    Version:
    1.0.1
    See Also:
    Serialized Form
    • Field Detail

      • timeUnit

        private final java.util.concurrent.TimeUnit timeUnit
      • value

        private final java.lang.Integer value
    • Constructor Detail

      • TimeUnitQuantity

        TimeUnitQuantity​(java.util.concurrent.TimeUnit timeUnit,
                         java.lang.Integer value)
        creates the TimeUnitQuantity using TimeUnit and Integer
        Parameters:
        timeUnit - - time to be used
        value - - value to be used
    • Method Detail

      • of

        public static TimeUnitQuantity of​(java.lang.Integer number,
                                          java.util.concurrent.TimeUnit timeUnit)
        creates the TimeUnitQuantity using TimeUnit and Integer
        Parameters:
        timeUnit - - time to be used
        value - - value to be used
        Since:
        1.0.9
      • of

        public static TimeUnitQuantity of​(java.util.concurrent.TimeUnit timeUnit,
                                          java.lang.Integer number)
        Deprecated.
        use #of(Integer, TimeUnit)
        creates the TimeUnitQuantity using TimeUnit and Integer
        Parameters:
        timeUnit - - time to be used
        value - - value to be used
        Since:
        1.0
      • of

        public static TimeUnitQuantity of​(javax.measure.Quantity<javax.measure.quantity.Time> quantity)
        Creates a TimeUnitQuantity based a Quantity converted to SI#SECOND.
        Parameters:
        quantity - - quantity to be used
        Returns:
        the TimeUnitQuantity converted be quantity in seconds.
        Since:
        1.0
      • getTimeUnit

        public java.util.concurrent.TimeUnit getTimeUnit()
        get to TimeUnit
        Returns:
        the TimeUnit
        Since:
        1.0
      • getValue

        public java.lang.Integer getValue()
        get value expressed in Integer
        Specified by:
        getValue in interface javax.measure.Quantity<javax.measure.quantity.Time>
        Specified by:
        getValue in interface tech.uom.lib.common.function.ValueSupplier<java.lang.Number>
        Specified by:
        getValue in class AbstractQuantity<javax.measure.quantity.Time>
        Returns:
        the value
        Since:
        1.0
      • toUnit

        public javax.measure.Unit<javax.measure.quantity.Time> toUnit()
        converts the TimeUnit to Unit
        Returns:
        the getTimeUnit() converted to Unit
        Since:
        1.0
      • toQuantity

        public javax.measure.Quantity<javax.measure.quantity.Time> toQuantity()
        Converts the TimeUnitQuantity to Quantity
        Returns:
        this class converted to Quantity
        Since:
        1.0
      • toUnit

        private static javax.measure.Unit<javax.measure.quantity.Time> toUnit​(java.util.concurrent.TimeUnit timeUnit)
      • hashCode

        public int hashCode()
        Description copied from class: AbstractQuantity
        Returns the hash code for this quantity.
        Overrides:
        hashCode in class AbstractQuantity<javax.measure.quantity.Time>
        Returns:
        the hash code value.
        Since:
        1.0
      • equals

        public boolean equals​(java.lang.Object obj)
        Description copied from class: AbstractQuantity
        Compares 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 as Quantities.getQuantity(3.0, KILOGRAM) Quantities.getQuantity(3, KILOGRAM) and Quantities.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 compareTo or equals(Quantity, epsilon, epsilonUnit) methods should be used.

        Overrides:
        equals in class AbstractQuantity<javax.measure.quantity.Time>
        Parameters:
        obj - the object to compare with.
        Returns:
        this.getUnit.equals(obj.getUnit()) && this.getValue().equals(obj.getValue())
        Since:
        1.0
      • toString

        public java.lang.String toString()
        Description copied from class: AbstractQuantity
        Returns the String representation of this quantity. The string produced for a given quantity is always the same; it is not affected by locale. This means that it can be used as a canonical string representation for exchanging quantity, or as a key for a Hashtable, etc. Locale-sensitive quantity formatting and parsing is handled by the QuantityFormat implementations and its subclasses.
        Overrides:
        toString in class AbstractQuantity<javax.measure.quantity.Time>
        Returns:
        UnitFormat.getInternational().format(this)
      • add

        public ComparableQuantity<javax.measure.quantity.Time> add​(javax.measure.Quantity<javax.measure.quantity.Time> that)
        Since:
        1.0.1
        See Also:
        Quantity.add(Quantity)
      • subtract

        public ComparableQuantity<javax.measure.quantity.Time> subtract​(javax.measure.Quantity<javax.measure.quantity.Time> that)
        Since:
        1.0.1
        See Also:
        Quantity.subtract(Quantity)
      • divide

        public ComparableQuantity<?> divide​(javax.measure.Quantity<?> that)
        Since:
        1.0.1
        See Also:
        Quantity.divide(Quantity)
      • divide

        public ComparableQuantity<javax.measure.quantity.Time> divide​(java.lang.Number that)
        Since:
        1.0.1
        See Also:
        Quantity.divide(Number)
      • multiply

        public ComparableQuantity<?> multiply​(javax.measure.Quantity<?> multiplier)
        Since:
        1.0.1
        See Also:
        Quantity.multiply(Quantity)
      • multiply

        public ComparableQuantity<javax.measure.quantity.Time> multiply​(java.lang.Number multiplier)
        Since:
        1.0.1
        See Also:
        Quantity.multiply(Number)
      • inverse

        public ComparableQuantity<javax.measure.quantity.Frequency> inverse()
        Since:
        1.0.1
        See Also:
        Quantity.inverse()
      • isBig

        public boolean isBig()
        Specified by:
        isBig in class AbstractQuantity<javax.measure.quantity.Time>
        Since:
        1.0.1
      • decimalValue

        public java.math.BigDecimal decimalValue​(javax.measure.Unit<javax.measure.quantity.Time> unit)
                                          throws java.lang.ArithmeticException
        Specified by:
        decimalValue in class AbstractQuantity<javax.measure.quantity.Time>
        Throws:
        java.lang.ArithmeticException
        Since:
        1.0.1
      • doubleValue

        public double doubleValue​(javax.measure.Unit<javax.measure.quantity.Time> unit)
                           throws java.lang.ArithmeticException
        Specified by:
        doubleValue in class AbstractQuantity<javax.measure.quantity.Time>
        Throws:
        java.lang.ArithmeticException
        Since:
        1.0.1