Подтвердить что ты не робот

Кулинарные единицы в Java

Существуют ли библиотеки с открытым исходным кодом для представления кулинарных единиц, таких как чайная ложка и столовая ложка на Java?

Я только нашел JSR-275 (http://jscience.org/jsr-275/), который замечательный, но не знает о кулинарных единицах.

4b9b3361

Ответ 1

JScience является расширяемым, поэтому вы должны создать подкласс javax.measure.unit.SystemOfUnits. Вы создадите ряд публичных статических окончательных объявлений, например:

public final class Cooking extends SystemOfUnits {
  private static HashSet<Unit<?>> UNITS = new HashSet<Unit<?>>();

  private Cooking() {
  }

  public static Cooking getInstance() {
    return INSTANCE;
  }
  private static final Cooking INSTANCE = new SI();

  public static final BaseUnit<CookingVolume> TABLESPOON = si(new BaseUnit<CookingVolume>("Tbsp"));

  ...

   public static final Unit<CookingVolume> GRAM = TABLESPOON.divide(1000);

}

public interface CookingVolume extends Quantity {
  public final static Unit<CookingVolume> UNIT = Cooking.TABLESPOON;
}

Очень просто определить другие единицы и конверсии, пока вы знаете, что представляют собой коэффициенты преобразования.

Ответ 2

Я думаю, вы можете разглядеть страницу вики для приготовления мер: Кулинарные веса и меры

В нем есть все меры, организованные в таблицах, поэтому их довольно легко разобрать.

Ответ 3

Это может быть полезно: JUnitConv. Это Java-апплет для конвертирования единиц (включая кулинарные единицы), но он лицензирован GPL, поэтому вы можете загрузить источник и адаптировать соответствующие компоненты для вашего собственного использования.

С другой стороны, похоже, что не сложно создать класс CookingUnits, совместимый с JSR 275. (Что бы я сделал)

Ответ 4

Боюсь, мы не можем помочь вам с JSR-275, поскольку он был отклонен, но JSR-363 только что вышел в финал в Сентябрь, поэтому, если у вас есть отличная идея для системных систем, таких как "Cooking Units", просто сообщите нам в разделе UoM-Systems.