ucumate is a developer-friendly Java library for working with units of measure based on the UCUM standard. At its core, it provides validation, canonicalization, conversion, and printing support with automatic caching. Optional features enable persistent database storage, mole-to-mass conversions, and high-precision calculation of conversion factors for special units.
An online demo is also available.
<dependency>
<groupId>com.github.fhnaumann.ucumate</groupId>
<artifactId>ucumate-core</artifactId>
<version>1.0.8</version>
</dependency>UCUMService ucumService = new UCUMService(); // default version is 2.2, but you can also specify a different version
LookupResult lookupResult = ucumService.lookup("m");
String print = ucumService.print("cm");
ValidationResult valResult = ucumService.validate("cm");
CanonicalizationResult canonResult = ucumService.canonicalize("[in_i]");
ConversionResult convResult = ucumService.convert("[ft_i]", "[in_i]");Read more about the usage in the documentation.
Try out the live demo.
- Build docks, retype build. Copy .retype into demo/src/resources/doc
- Build frontend, npm build. Copy /dist into demo/src/resources
- Deploy demo, railway up (builds docker image)
This project includes data from NistChemData, licensed under the MIT License. Copyright © 2023 Ivan Chernyshov.