2009-06-19 27 views
20

Có thư viện nguồn mở nào để biểu diễn các đơn vị nấu ăn như muỗng cà phê và muỗng canh trong Java không?Đơn vị nấu ăn trong Java

Tôi chỉ tìm thấy JSR-275 (https://jcp.org/en/jsr/detail?id=275) rất tuyệt vời nhưng không biết về các đơn vị nấu ăn.

+2

Tôi thích điều này ... xứng đáng với thẻ riêng của mình – skaffman

+3

Còn về "nhúm", như trong "một nhúm muối" thì sao? –

+2

Có bao nhiêu "pinches" trong "smidgen"? – Zach

Trả lời

13

JScience có thể mở rộng, vì vậy bạn có thể tạo một lớp con của javax.measure.unit.SystemOfUnits. Bạn sẽ tạo ra một số tuyên bố chính thức public static như thế này:

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; 
} 

Nó khá đơn giản để xác định các đơn vị khác và chuyển đổi, chỉ miễn là bạn biết những gì các yếu tố chuyển đổi là.

1

Tôi đoán bạn có thể phân tích các trang wiki cho phép đo nấu ăn: Cooking Weights and Measures

Nó có tất cả các biện pháp tổ chức trong các bảng, vì vậy nó nên được khá dễ dàng để phân tích chúng ra.

+1

Đây là dịch vụ web! http://www.webservicex.net/WS/WSDetails.aspx?WSID=25&CATID=13 – Boden

1

Đây có thể là một số cách sử dụng: JUnitConv. Đó là một applet Java để chuyển đổi các đơn vị (bao gồm các đơn vị nấu ăn), nhưng nó được cấp phép GPL để bạn có thể tải xuống nguồn và điều chỉnh các bộ phận liên quan để sử dụng riêng của bạn.

Mặt khác, có vẻ như nó không phải là khó để tạo ra một lớp CookingUnits phù hợp với JSR 275. (Đó là những gì tôi muốn làm)

1

Tôi sợ, chúng ta có thể không giúp đỡ bạn với JSR-275 vì nó đã bị từ chối, nhưng JSR-363 vừa đi vào Chung kết vào tháng 9, vì vậy nếu bạn có ý tưởng tuyệt vời cho các hệ thống đơn vị như "Đơn vị nấu ăn", vui lòng cho chúng tôi biết theo số UoM-Systems.

+0

Dường như JSR-365 vừa được chấp nhận. Điều này đã được lên kế hoạch để được bao gồm? – mkobit

+1

385 là phiên bản tiếp theo của JSR 363. Vị trí tốt nhất cho các loại đơn vị miền cụ thể đó sẽ là https://github.com/unitsofmeasurement/uom-domain. Vui lòng tạo một vé làm yêu cầu tính năng mới. –

Các vấn đề liên quan