Interface QuantityFactory<Q extends Quantity<Q>>

  • Type Parameters:
    Q - the type of the Quantity result

    public interface QuantityFactory<Q extends Quantity<Q>>
    Represents a factory that accepts Number and Unit arguments to create Quantity results.
    Since:
    1.0
    Version:
    1.0, August 8, 2016
    See Also:
    Quantity
    • Method Detail

      • create

        Quantity<Q> create​(java.lang.Number value,
                           Unit<Q> unit)
        Returns the quantity for the specified number stated in the specified unit.
        Parameters:
        value - the numeric value stated in the specified unit
        unit - the unit
        Returns:
        the corresponding quantity
      • getSystemUnit

        Unit<Q> getSystemUnit()
        Returns the system unit for quantities produced by this factory or null if unknown.

        Because the system unit is unique by quantity type, it can be be used to identify the quantity given the unit. For example:

             static boolean isAngularSpeed(Unit<?> unit) {
                 return unit.getSystemUnit().equals(RADIAN.divide(SECOND));
             }
             assert isAngularSpeed(REVOLUTION.divide(MINUTE)); // Returns true.
         
        Returns:
        the system unit for this factory.
        See Also:
        Unit.getSystemUnit()