summaryrefslogtreecommitdiff
path: root/src/main/java/sevenUnits/unit/UnitDatabase.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/sevenUnits/unit/UnitDatabase.java')
-rw-r--r--src/main/java/sevenUnits/unit/UnitDatabase.java23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/main/java/sevenUnits/unit/UnitDatabase.java b/src/main/java/sevenUnits/unit/UnitDatabase.java
index 18ac619..b029539 100644
--- a/src/main/java/sevenUnits/unit/UnitDatabase.java
+++ b/src/main/java/sevenUnits/unit/UnitDatabase.java
@@ -47,6 +47,8 @@ import java.util.regex.Pattern;
import sevenUnits.utils.ConditionalExistenceCollections;
import sevenUnits.utils.DecimalComparison;
import sevenUnits.utils.ExpressionParser;
+import sevenUnits.utils.NameSymbol;
+import sevenUnits.utils.NamedObjectProduct;
import sevenUnits.utils.ObjectProduct;
import sevenUnits.utils.UncertainDouble;
@@ -1197,7 +1199,7 @@ public final class UnitDatabase {
* @since 2019-03-14
* @since v0.2.0
*/
- private final Map<String, ObjectProduct<BaseDimension>> dimensions;
+ private final Map<String, NamedObjectProduct<BaseDimension>> dimensions;
/**
* A map mapping strings to units (including prefixes)
@@ -1313,9 +1315,16 @@ public final class UnitDatabase {
*/
public void addDimension(final String name,
final ObjectProduct<BaseDimension> dimension) {
- this.dimensions.put(
- Objects.requireNonNull(name, "name must not be null."),
- Objects.requireNonNull(dimension, "dimension must not be null."));
+ Objects.requireNonNull(name, "name may not be null");
+ Objects.requireNonNull(dimension, "dimension may not be null");
+ if (dimension instanceof NamedObjectProduct) {
+ this.dimensions.put(name,
+ (NamedObjectProduct<BaseDimension>) dimension);
+ } else {
+ final NamedObjectProduct<BaseDimension> namedDimension = dimension
+ .withName(NameSymbol.ofName(name));
+ this.dimensions.put(name, namedDimension);
+ }
}
/**
@@ -1367,7 +1376,7 @@ public final class UnitDatabase {
throw e;
}
- this.addDimension(name, dimension);
+ this.addDimension(name, dimension.withName(NameSymbol.ofName(name)));
}
}
@@ -1463,7 +1472,7 @@ public final class UnitDatabase {
throw e;
}
- this.addUnit(name, unit);
+ this.addUnit(name, unit.withName(NameSymbol.ofName(name)));
}
}
}
@@ -1510,7 +1519,7 @@ public final class UnitDatabase {
* @since 2019-04-13
* @since v0.2.0
*/
- public Map<String, ObjectProduct<BaseDimension>> dimensionMap() {
+ public Map<String, NamedObjectProduct<BaseDimension>> dimensionMap() {
return Collections.unmodifiableMap(this.dimensions);
}