summaryrefslogtreecommitdiff
path: root/src/main/java/sevenUnits/unit/Unit.java
diff options
context:
space:
mode:
authorAdrien Hopkins <ahopk127@my.yorku.ca>2021-08-26 15:09:23 -0400
committerAdrien Hopkins <ahopk127@my.yorku.ca>2021-08-26 15:09:23 -0400
commit816f744169d1ecdb689aba27cb396ab452fdc3fe (patch)
tree1eed1edbbf6f3131dfb6a26c1480d023e44f6c51 /src/main/java/sevenUnits/unit/Unit.java
parent236b497f516694929b9fe409508a7cce21ca9e6e (diff)
parent75a5a1a2a40b0eb4361d6fc046eb8918ef6f5292 (diff)
Merge branch 'new-documentation-0.3.1' into develop
Diffstat (limited to 'src/main/java/sevenUnits/unit/Unit.java')
-rw-r--r--src/main/java/sevenUnits/unit/Unit.java38
1 files changed, 17 insertions, 21 deletions
diff --git a/src/main/java/sevenUnits/unit/Unit.java b/src/main/java/sevenUnits/unit/Unit.java
index 1e875af..005b6f7 100644
--- a/src/main/java/sevenUnits/unit/Unit.java
+++ b/src/main/java/sevenUnits/unit/Unit.java
@@ -17,14 +17,12 @@
package sevenUnits.unit;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
import java.util.Objects;
-import java.util.Set;
import java.util.function.DoubleUnaryOperator;
-import sevenUnits.math.DecimalComparison;
-import sevenUnits.math.ObjectProduct;
+import sevenUnits.utils.DecimalComparison;
+import sevenUnits.utils.ObjectProduct;
/**
* A unit that is composed of base units.
@@ -110,6 +108,19 @@ public abstract class Unit implements Nameable {
private transient ObjectProduct<BaseDimension> dimension = null;
/**
+ * A constructor that constructs {@code BaseUnit} instances.
+ *
+ * @since 2019-10-16
+ */
+ Unit(final NameSymbol nameSymbol) {
+ if (this instanceof BaseUnit) {
+ this.unitBase = ObjectProduct.oneOf((BaseUnit) this);
+ } else
+ throw new AssertionError();
+ this.nameSymbol = nameSymbol;
+ }
+
+ /**
* Creates the {@code Unit}.
*
* @param unitBase base of unit
@@ -117,28 +128,13 @@ public abstract class Unit implements Nameable {
* @since 2019-10-16
* @throws NullPointerException if unitBase or ns is null
*/
- Unit(ObjectProduct<BaseUnit> unitBase, NameSymbol ns) {
+ protected Unit(ObjectProduct<BaseUnit> unitBase, NameSymbol ns) {
this.unitBase = Objects.requireNonNull(unitBase,
"unitBase may not be null");
this.nameSymbol = Objects.requireNonNull(ns, "ns may not be null");
}
/**
- * A constructor that constructs {@code BaseUnit} instances.
- *
- * @since 2019-10-16
- */
- Unit(final String primaryName, final String symbol,
- final Set<String> otherNames) {
- if (this instanceof BaseUnit) {
- this.unitBase = ObjectProduct.oneOf((BaseUnit) this);
- } else
- throw new AssertionError();
- this.nameSymbol = NameSymbol.of(primaryName, symbol,
- new HashSet<>(otherNames));
- }
-
- /**
* @return this unit as a {@link Unitlike}
* @since 2020-09-07
*/
@@ -342,7 +338,7 @@ public abstract class Unit implements Nameable {
// second condition - check that
for (final BaseUnit b : linear.getBase().getBaseSet()) {
- if (!SI.BaseUnits.BASE_UNITS.contains(b))
+ if (!Metric.BaseUnits.BASE_UNITS.contains(b))
return false;
}