diff options
author | Adrien Hopkins <masterofnumbers17@gmail.com> | 2019-10-21 21:41:26 -0400 |
---|---|---|
committer | Adrien Hopkins <masterofnumbers17@gmail.com> | 2019-10-21 21:41:26 -0400 |
commit | 8ec94bea790cc010c29cd8de86e47117ff331979 (patch) | |
tree | 6a544d2d0c672cf9cdf2650319f3dff2f33cd8f0 /src/org/unitConverter/unit/BaseUnit.java | |
parent | 3c23fd15b88396868101457256173c0c2c29df5c (diff) |
Added new ways to create named units.
Diffstat (limited to 'src/org/unitConverter/unit/BaseUnit.java')
-rw-r--r-- | src/org/unitConverter/unit/BaseUnit.java | 11 |
1 files changed, 11 insertions, 0 deletions
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()); + } } |