From 8ec94bea790cc010c29cd8de86e47117ff331979 Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Mon, 21 Oct 2019 21:41:26 -0400 Subject: Added new ways to create named units. --- src/org/unitConverter/unit/BaseUnit.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/org/unitConverter/unit/BaseUnit.java') diff --git a/src/org/unitConverter/unit/BaseUnit.java b/src/org/unitConverter/unit/BaseUnit.java index 8fd0664..e9ef3fa 100644 --- a/src/org/unitConverter/unit/BaseUnit.java +++ b/src/org/unitConverter/unit/BaseUnit.java @@ -118,4 +118,15 @@ public final class BaseUnit extends Unit { return this.getPrimaryName().orElse("Unnamed unit") + (this.getSymbol().isPresent() ? String.format(" (%s)", this.getSymbol().get()) : ""); } + + @Override + public BaseUnit withName(final NameSymbol ns) { + Objects.requireNonNull(ns, "ns must not be null."); + if (!ns.getPrimaryName().isPresent()) + throw new IllegalArgumentException("BaseUnits must have primary names."); + if (!ns.getSymbol().isPresent()) + throw new IllegalArgumentException("BaseUnits must have symbols."); + return BaseUnit.valueOf(this.getBaseDimension(), ns.getPrimaryName().get(), ns.getSymbol().get(), + ns.getOtherNames()); + } } -- cgit v1.2.3