summaryrefslogtreecommitdiff
path: root/src/org/unitConverter/unit/BaseUnit.java
diff options
context:
space:
mode:
authorAdrien Hopkins <masterofnumbers17@gmail.com>2019-10-21 21:41:26 -0400
committerAdrien Hopkins <masterofnumbers17@gmail.com>2019-10-21 21:41:26 -0400
commit8ec94bea790cc010c29cd8de86e47117ff331979 (patch)
tree6a544d2d0c672cf9cdf2650319f3dff2f33cd8f0 /src/org/unitConverter/unit/BaseUnit.java
parent3c23fd15b88396868101457256173c0c2c29df5c (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.java11
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());
+ }
}