Package javax.measure

Class Measure<V,​Q extends Quantity>

    • Constructor Detail

      • Measure

        protected Measure()
        Default constructor.
    • Method Detail

      • valueOf

        public static <Q extends QuantityMeasure<Double,​Q> valueOf​(double doubleValue,
                                                                           Unit<Q> unit)
        Returns the scalar measure for the specified double stated in the specified unit.
        Parameters:
        doubleValue - the measurement value.
        unit - the measurement unit.
      • valueOf

        public static <Q extends QuantityMeasure<Long,​Q> valueOf​(long longValue,
                                                                         Unit<Q> unit)
        Returns the scalar measure for the specified double stated in the specified unit.
        Parameters:
        longValue - the measurement value.
        unit - the measurement unit.
      • valueOf

        public static <Q extends QuantityMeasure<Float,​Q> valueOf​(float floatValue,
                                                                          Unit<Q> unit)
        Returns the scalar measure for the specified float stated in the specified unit.
        Parameters:
        floatValue - the measurement value.
        unit - the measurement unit.
      • valueOf

        public static <Q extends QuantityMeasure<Integer,​Q> valueOf​(int intValue,
                                                                            Unit<Q> unit)
        Returns the scalar measure for the specified int stated in the specified unit.
        Parameters:
        intValue - the measurement value.
        unit - the measurement unit.
      • getValue

        public abstract V getValue()
        Returns the measurement value of this measure.
        Returns:
        the measurement value.
      • getUnit

        public abstract Unit<Q> getUnit()
        Returns the measurement unit of this measure.
        Returns:
        the measurement unit.
      • to

        public abstract Measure<V,​Q> to​(Unit<Q> unit)
        Returns the measure equivalent to this measure but stated in the specified unit. This method may result in lost of precision (e.g. measure of integral value).
        Parameters:
        unit - the new measurement unit.
        Returns:
        the measure stated in the specified unit.
      • doubleValue

        public abstract double doubleValue​(Unit<Q> unit)
        Returns the value of this measure stated in the specified unit as a double. If the measure has too great a magnitude to be represented as a double, it will be converted to Double.NEGATIVE_INFINITY or Double.POSITIVE_INFINITY as appropriate.
        Specified by:
        doubleValue in interface Measurable<V>
        Parameters:
        unit - the unit in which this measure is stated.
        Returns:
        the numeric value after conversion to type double.
      • longValue

        public long longValue​(Unit<Q> unit)
                       throws ArithmeticException
        Returns the estimated integral value of this measure stated in the specified unit as a long.

        Note: This method differs from the Number.longValue() in the sense that the closest integer value is returned and an ArithmeticException is raised instead of a bit truncation in case of overflow (safety critical).

        Specified by:
        longValue in interface Measurable<V>
        Parameters:
        unit - the unit in which the measurable value is stated.
        Returns:
        the numeric value after conversion to type long.
        Throws:
        ArithmeticException - if this quantity cannot be represented as a long number in the specified unit.
      • floatValue

        public float floatValue​(Unit<Q> unit)
        Returns the value of this measure stated in the specified unit as a float. If the measure has too great a magnitude to be represented as a float, it will be converted to Float.NEGATIVE_INFINITY or Float.POSITIVE_INFINITY as appropriate.
        Parameters:
        unit - the unit in which the measure is stated.
        Returns:
        the numeric value after conversion to type float.
      • intValue

        public int intValue​(Unit<Q> unit)
        Returns the estimated integral value of this measure stated in the specified unit as a int.

        Note: This method differs from the Number.intValue() in the sense that the closest integer value is returned and an ArithmeticException is raised instead of a bit truncation in case of overflow (safety critical).

        Parameters:
        unit - the unit in which the measurable value is stated.
        Returns:
        the numeric value after conversion to type int.
        Throws:
        ArithmeticException - if this quantity cannot be represented as a int number in the specified unit.
      • equals

        public boolean equals​(Object obj)
        Compares this measure against the specified object for strict equality (same unit and amount). To compare measures stated using different units the compareTo(javax.measure.Measurable<Q>) method should be used.
        Overrides:
        equals in class Object
        Parameters:
        obj - the object to compare with.
        Returns:
        true if both objects are identical (same unit and same amount); false otherwise.
      • hashCode

        public int hashCode()
        Returns the hash code for this scalar.
        Overrides:
        hashCode in class Object
        Returns:
        the hash code value.
      • toString

        public String toString()
        Returns the String representation of this measure The string produced for a given measure is always the same; it is not affected by locale. This means that it can be used as a canonical string representation for exchanging data, or as a key for a Hashtable, etc. Locale-sensitive measure formatting and parsing is handled by the MeasureFormat class and its subclasses.
        Overrides:
        toString in class Object
        Returns:
        the string representation of this measure.
      • compareTo

        public int compareTo​(Measurable<Q> that)
        Compares this measure to the specified measurable quantity. This method compares the Measurable.doubleValue(Unit) of both this measure and the specified measurable stated in the same unit (this measure's unit).
        Specified by:
        compareTo in interface Comparable<V>
        Returns:
        a negative integer, zero, or a positive integer as this measure is less than, equal to, or greater than the specified measurable quantity.
      • valueOf

        public static <Q extends QuantityMeasure<double[],​Q> valueOf​(double[] components,
                                                                             Unit<Q> unit)
        Deprecated.
        VectorMeasure should be used directly.