summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorAdrien Hopkins <ahopk127@my.yorku.ca>2021-08-26 07:52:45 -0500
committerAdrien Hopkins <ahopk127@my.yorku.ca>2021-08-26 08:04:32 -0500
commit1cb69cfdcb18bbafdbc792174697732e7cf359e7 (patch)
tree01db8e4ac3ee6d46b2f2e60ae07fc94425e55787 /src/main/java
parent2d6b85fb9e56b4afa7fd2f3cc26518d5d3125c2c (diff)
Added units and dimensions to the design document
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/sevenUnits/converterGUI/DefaultPrefixRepetitionRule.java12
-rw-r--r--src/main/java/sevenUnits/converterGUI/SevenUnitsGUI.java32
-rw-r--r--src/main/java/sevenUnits/unit/BritishImperial.java22
-rw-r--r--src/main/java/sevenUnits/unit/LinearUnitValue.java2
-rw-r--r--src/main/java/sevenUnits/unit/Metric.java (renamed from src/main/java/sevenUnits/unit/SI.java)86
-rw-r--r--src/main/java/sevenUnits/unit/USCustomary.java8
-rw-r--r--src/main/java/sevenUnits/unit/Unit.java12
-rw-r--r--src/main/java/sevenUnits/unit/UnitDatabase.java8
8 files changed, 91 insertions, 91 deletions
diff --git a/src/main/java/sevenUnits/converterGUI/DefaultPrefixRepetitionRule.java b/src/main/java/sevenUnits/converterGUI/DefaultPrefixRepetitionRule.java
index 835651e..6b6abf0 100644
--- a/src/main/java/sevenUnits/converterGUI/DefaultPrefixRepetitionRule.java
+++ b/src/main/java/sevenUnits/converterGUI/DefaultPrefixRepetitionRule.java
@@ -6,7 +6,7 @@ package sevenUnits.converterGUI;
import java.util.List;
import java.util.function.Predicate;
-import sevenUnits.unit.SI;
+import sevenUnits.unit.Metric;
import sevenUnits.unit.UnitPrefix;
/**
@@ -49,7 +49,7 @@ enum DefaultPrefixRepetitionRule implements Predicate<List<UnitPrefix>> {
// if the first prefix is non-metric (including binary prefixes),
// assume we are using non-metric prefixes
// non-metric prefixes are allowed, but can't be repeated.
- if (!SI.DECIMAL_PREFIXES.contains(prefixes.get(0)))
+ if (!Metric.DECIMAL_PREFIXES.contains(prefixes.get(0)))
return NO_REPETITION.test(prefixes);
int part = 0; // 0=yotta/yoctos, 1=kilo-zetta/milli-zepto,
@@ -58,7 +58,7 @@ enum DefaultPrefixRepetitionRule implements Predicate<List<UnitPrefix>> {
for (final UnitPrefix prefix : prefixes) {
// check that the current prefix is metric and appropriately
// magnifying/reducing
- if (!SI.DECIMAL_PREFIXES.contains(prefix))
+ if (!Metric.DECIMAL_PREFIXES.contains(prefix))
return false;
if (magnifying != prefix.getMultiplier() > 1)
return false;
@@ -72,7 +72,7 @@ enum DefaultPrefixRepetitionRule implements Predicate<List<UnitPrefix>> {
break;
case 1:
// after a kilo-zetta, only deka/hecto are valid
- if (SI.THOUSAND_PREFIXES.contains(prefix))
+ if (Metric.THOUSAND_PREFIXES.contains(prefix))
return false;
break;
case 2:
@@ -81,9 +81,9 @@ enum DefaultPrefixRepetitionRule implements Predicate<List<UnitPrefix>> {
}
// set part
- if (SI.YOTTA.equals(prefix) || SI.YOCTO.equals(prefix)) {
+ if (Metric.YOTTA.equals(prefix) || Metric.YOCTO.equals(prefix)) {
part = 0;
- } else if (SI.THOUSAND_PREFIXES.contains(prefix)) {
+ } else if (Metric.THOUSAND_PREFIXES.contains(prefix)) {
part = 1;
} else {
part = 2;
diff --git a/src/main/java/sevenUnits/converterGUI/SevenUnitsGUI.java b/src/main/java/sevenUnits/converterGUI/SevenUnitsGUI.java
index e1eb2f4..bfd5974 100644
--- a/src/main/java/sevenUnits/converterGUI/SevenUnitsGUI.java
+++ b/src/main/java/sevenUnits/converterGUI/SevenUnitsGUI.java
@@ -70,7 +70,7 @@ import sevenUnits.unit.BritishImperial;
import sevenUnits.unit.LinearUnit;
import sevenUnits.unit.LinearUnitValue;
import sevenUnits.unit.NameSymbol;
-import sevenUnits.unit.SI;
+import sevenUnits.unit.Metric;
import sevenUnits.unit.Unit;
import sevenUnits.unit.UnitDatabase;
import sevenUnits.unit.UnitPrefix;
@@ -110,25 +110,25 @@ final class SevenUnitsGUI {
* @since v0.2.0
*/
private static void addDefaults(final UnitDatabase database) {
- database.addUnit("metre", SI.METRE);
- database.addUnit("kilogram", SI.KILOGRAM);
- database.addUnit("gram", SI.KILOGRAM.dividedBy(1000));
- database.addUnit("second", SI.SECOND);
- database.addUnit("ampere", SI.AMPERE);
- database.addUnit("kelvin", SI.KELVIN);
- database.addUnit("mole", SI.MOLE);
- database.addUnit("candela", SI.CANDELA);
- database.addUnit("bit", SI.BIT);
- database.addUnit("unit", SI.ONE);
+ database.addUnit("metre", Metric.METRE);
+ database.addUnit("kilogram", Metric.KILOGRAM);
+ database.addUnit("gram", Metric.KILOGRAM.dividedBy(1000));
+ database.addUnit("second", Metric.SECOND);
+ database.addUnit("ampere", Metric.AMPERE);
+ database.addUnit("kelvin", Metric.KELVIN);
+ database.addUnit("mole", Metric.MOLE);
+ database.addUnit("candela", Metric.CANDELA);
+ database.addUnit("bit", Metric.BIT);
+ database.addUnit("unit", Metric.ONE);
// nonlinear units - must be loaded manually
- database.addUnit("tempCelsius", SI.CELSIUS);
+ database.addUnit("tempCelsius", Metric.CELSIUS);
database.addUnit("tempFahrenheit", BritishImperial.FAHRENHEIT);
// load initial dimensions
- database.addDimension("LENGTH", SI.Dimensions.LENGTH);
- database.addDimension("MASS", SI.Dimensions.MASS);
- database.addDimension("TIME", SI.Dimensions.TIME);
- database.addDimension("TEMPERATURE", SI.Dimensions.TEMPERATURE);
+ database.addDimension("LENGTH", Metric.Dimensions.LENGTH);
+ database.addDimension("MASS", Metric.Dimensions.MASS);
+ database.addDimension("TIME", Metric.Dimensions.TIME);
+ database.addDimension("TEMPERATURE", Metric.Dimensions.TEMPERATURE);
}
/**
diff --git a/src/main/java/sevenUnits/unit/BritishImperial.java b/src/main/java/sevenUnits/unit/BritishImperial.java
index 63da7f0..81a3f2a 100644
--- a/src/main/java/sevenUnits/unit/BritishImperial.java
+++ b/src/main/java/sevenUnits/unit/BritishImperial.java
@@ -48,7 +48,7 @@ public final class BritishImperial {
/**
* According to the International Yard and Pound of 1959, a yard is defined as exactly 0.9144 metres.
*/
- public static final LinearUnit YARD = SI.METRE.times(0.9144);
+ public static final LinearUnit YARD = Metric.METRE.times(0.9144);
public static final LinearUnit FOOT = YARD.dividedBy(3);
public static final LinearUnit INCH = FOOT.dividedBy(12);
public static final LinearUnit THOU = INCH.dividedBy(1000);
@@ -57,7 +57,7 @@ public final class BritishImperial {
public static final LinearUnit MILE = FURLONG.times(8);
public static final LinearUnit LEAGUE = MILE.times(3);
- public static final LinearUnit NAUTICAL_MILE = SI.METRE.times(1852);
+ public static final LinearUnit NAUTICAL_MILE = Metric.METRE.times(1852);
public static final LinearUnit CABLE = NAUTICAL_MILE.dividedBy(10);
public static final LinearUnit FATHOM = CABLE.dividedBy(100);
@@ -72,7 +72,7 @@ public final class BritishImperial {
* @since 2019-11-08
*/
public static final class Mass {
- public static final LinearUnit POUND = SI.GRAM.times(453.59237);
+ public static final LinearUnit POUND = Metric.GRAM.times(453.59237);
public static final LinearUnit OUNCE = POUND.dividedBy(16);
public static final LinearUnit DRACHM = POUND.dividedBy(256);
public static final LinearUnit GRAIN = POUND.dividedBy(7000);
@@ -80,7 +80,7 @@ public final class BritishImperial {
public static final LinearUnit QUARTER = STONE.times(2);
public static final LinearUnit HUNDREDWEIGHT = QUARTER.times(4);
public static final LinearUnit LONG_TON = HUNDREDWEIGHT.times(20);
- public static final LinearUnit SLUG = SI.KILOGRAM.times(14.59390294);
+ public static final LinearUnit SLUG = Metric.KILOGRAM.times(14.59390294);
}
/**
@@ -90,7 +90,7 @@ public final class BritishImperial {
* @since 2019-11-08
*/
public static final class Volume {
- public static final LinearUnit FLUID_OUNCE = SI.LITRE.withPrefix(SI.MILLI).times(28.4130625);
+ public static final LinearUnit FLUID_OUNCE = Metric.LITRE.withPrefix(Metric.MILLI).times(28.4130625);
public static final LinearUnit GILL = FLUID_OUNCE.times(5);
public static final LinearUnit PINT = FLUID_OUNCE.times(20);
public static final LinearUnit QUART = PINT.times(2);
@@ -104,13 +104,13 @@ public final class BritishImperial {
public static final LinearUnit ACRE_FOOT = Area.ACRE.times(Length.FOOT);
}
- public static final LinearUnit OUNCE_FORCE = Mass.OUNCE.times(SI.Constants.EARTH_GRAVITY);
- public static final LinearUnit POUND_FORCE = Mass.POUND.times(SI.Constants.EARTH_GRAVITY);
+ public static final LinearUnit OUNCE_FORCE = Mass.OUNCE.times(Metric.Constants.EARTH_GRAVITY);
+ public static final LinearUnit POUND_FORCE = Mass.POUND.times(Metric.Constants.EARTH_GRAVITY);
- public static final LinearUnit BRITISH_THERMAL_UNIT = SI.JOULE.times(1055.06);
- public static final LinearUnit CALORIE = SI.JOULE.times(4.184);
- public static final LinearUnit KILOCALORIE = SI.JOULE.times(4184);
+ public static final LinearUnit BRITISH_THERMAL_UNIT = Metric.JOULE.times(1055.06);
+ public static final LinearUnit CALORIE = Metric.JOULE.times(4.184);
+ public static final LinearUnit KILOCALORIE = Metric.JOULE.times(4184);
- public static final Unit FAHRENHEIT = Unit.fromConversionFunctions(SI.KELVIN.getBase(),
+ public static final Unit FAHRENHEIT = Unit.fromConversionFunctions(Metric.KELVIN.getBase(),
tempK -> tempK * 1.8 - 459.67, tempF -> (tempF + 459.67) / 1.8);
}
diff --git a/src/main/java/sevenUnits/unit/LinearUnitValue.java b/src/main/java/sevenUnits/unit/LinearUnitValue.java
index ffb9271..a36d568 100644
--- a/src/main/java/sevenUnits/unit/LinearUnitValue.java
+++ b/src/main/java/sevenUnits/unit/LinearUnitValue.java
@@ -32,7 +32,7 @@ import sevenUnits.utils.UncertainDouble;
* @since 2020-07-26
*/
public final class LinearUnitValue {
- public static final LinearUnitValue ONE = getExact(SI.ONE, 1);
+ public static final LinearUnitValue ONE = getExact(Metric.ONE, 1);
/**
* Gets an exact {@code LinearUnitValue}
diff --git a/src/main/java/sevenUnits/unit/SI.java b/src/main/java/sevenUnits/unit/Metric.java
index 278fb5e..3c4d291 100644
--- a/src/main/java/sevenUnits/unit/SI.java
+++ b/src/main/java/sevenUnits/unit/Metric.java
@@ -36,7 +36,7 @@ import sevenUnits.utils.ObjectProduct;
* @author Adrien Hopkins
* @since 2019-10-16
*/
-public final class SI {
+public final class Metric {
/// dimensions used by SI units
// base dimensions, as BaseDimensions
public static final class BaseDimensions {
@@ -402,57 +402,57 @@ public final class SI {
.withName(NameSymbol.of("exbi", "Ei"));
// a few prefixed units
- public static final LinearUnit MICROMETRE = SI.METRE.withPrefix(SI.MICRO);
- public static final LinearUnit MILLIMETRE = SI.METRE.withPrefix(SI.MILLI);
- public static final LinearUnit KILOMETRE = SI.METRE.withPrefix(SI.KILO);
- public static final LinearUnit MEGAMETRE = SI.METRE.withPrefix(SI.MEGA);
+ public static final LinearUnit MICROMETRE = Metric.METRE.withPrefix(Metric.MICRO);
+ public static final LinearUnit MILLIMETRE = Metric.METRE.withPrefix(Metric.MILLI);
+ public static final LinearUnit KILOMETRE = Metric.METRE.withPrefix(Metric.KILO);
+ public static final LinearUnit MEGAMETRE = Metric.METRE.withPrefix(Metric.MEGA);
- public static final LinearUnit MICROLITRE = SI.LITRE.withPrefix(SI.MICRO);
- public static final LinearUnit MILLILITRE = SI.LITRE.withPrefix(SI.MILLI);
- public static final LinearUnit KILOLITRE = SI.LITRE.withPrefix(SI.KILO);
- public static final LinearUnit MEGALITRE = SI.LITRE.withPrefix(SI.MEGA);
+ public static final LinearUnit MICROLITRE = Metric.LITRE.withPrefix(Metric.MICRO);
+ public static final LinearUnit MILLILITRE = Metric.LITRE.withPrefix(Metric.MILLI);
+ public static final LinearUnit KILOLITRE = Metric.LITRE.withPrefix(Metric.KILO);
+ public static final LinearUnit MEGALITRE = Metric.LITRE.withPrefix(Metric.MEGA);
- public static final LinearUnit MICROSECOND = SI.SECOND.withPrefix(SI.MICRO);
- public static final LinearUnit MILLISECOND = SI.SECOND.withPrefix(SI.MILLI);
- public static final LinearUnit KILOSECOND = SI.SECOND.withPrefix(SI.KILO);
- public static final LinearUnit MEGASECOND = SI.SECOND.withPrefix(SI.MEGA);
+ public static final LinearUnit MICROSECOND = Metric.SECOND.withPrefix(Metric.MICRO);
+ public static final LinearUnit MILLISECOND = Metric.SECOND.withPrefix(Metric.MILLI);
+ public static final LinearUnit KILOSECOND = Metric.SECOND.withPrefix(Metric.KILO);
+ public static final LinearUnit MEGASECOND = Metric.SECOND.withPrefix(Metric.MEGA);
- public static final LinearUnit MICROGRAM = SI.GRAM.withPrefix(SI.MICRO);
- public static final LinearUnit MILLIGRAM = SI.GRAM.withPrefix(SI.MILLI);
- public static final LinearUnit MEGAGRAM = SI.GRAM.withPrefix(SI.MEGA);
+ public static final LinearUnit MICROGRAM = Metric.GRAM.withPrefix(Metric.MICRO);
+ public static final LinearUnit MILLIGRAM = Metric.GRAM.withPrefix(Metric.MILLI);
+ public static final LinearUnit MEGAGRAM = Metric.GRAM.withPrefix(Metric.MEGA);
- public static final LinearUnit MICRONEWTON = SI.NEWTON.withPrefix(SI.MICRO);
- public static final LinearUnit MILLINEWTON = SI.NEWTON.withPrefix(SI.MILLI);
- public static final LinearUnit KILONEWTON = SI.NEWTON.withPrefix(SI.KILO);
- public static final LinearUnit MEGANEWTON = SI.NEWTON.withPrefix(SI.MEGA);
+ public static final LinearUnit MICRONEWTON = Metric.NEWTON.withPrefix(Metric.MICRO);
+ public static final LinearUnit MILLINEWTON = Metric.NEWTON.withPrefix(Metric.MILLI);
+ public static final LinearUnit KILONEWTON = Metric.NEWTON.withPrefix(Metric.KILO);
+ public static final LinearUnit MEGANEWTON = Metric.NEWTON.withPrefix(Metric.MEGA);
- public static final LinearUnit MICROJOULE = SI.JOULE.withPrefix(SI.MICRO);
- public static final LinearUnit MILLIJOULE = SI.JOULE.withPrefix(SI.MILLI);
- public static final LinearUnit KILOJOULE = SI.JOULE.withPrefix(SI.KILO);
- public static final LinearUnit MEGAJOULE = SI.JOULE.withPrefix(SI.MEGA);
+ public static final LinearUnit MICROJOULE = Metric.JOULE.withPrefix(Metric.MICRO);
+ public static final LinearUnit MILLIJOULE = Metric.JOULE.withPrefix(Metric.MILLI);
+ public static final LinearUnit KILOJOULE = Metric.JOULE.withPrefix(Metric.KILO);
+ public static final LinearUnit MEGAJOULE = Metric.JOULE.withPrefix(Metric.MEGA);
- public static final LinearUnit MICROWATT = SI.WATT.withPrefix(SI.MICRO);
- public static final LinearUnit MILLIWATT = SI.WATT.withPrefix(SI.MILLI);
- public static final LinearUnit KILOWATT = SI.WATT.withPrefix(SI.KILO);
- public static final LinearUnit MEGAWATT = SI.WATT.withPrefix(SI.MEGA);
+ public static final LinearUnit MICROWATT = Metric.WATT.withPrefix(Metric.MICRO);
+ public static final LinearUnit MILLIWATT = Metric.WATT.withPrefix(Metric.MILLI);
+ public static final LinearUnit KILOWATT = Metric.WATT.withPrefix(Metric.KILO);
+ public static final LinearUnit MEGAWATT = Metric.WATT.withPrefix(Metric.MEGA);
- public static final LinearUnit MICROCOULOMB = SI.COULOMB
- .withPrefix(SI.MICRO);
- public static final LinearUnit MILLICOULOMB = SI.COULOMB
- .withPrefix(SI.MILLI);
- public static final LinearUnit KILOCOULOMB = SI.COULOMB.withPrefix(SI.KILO);
- public static final LinearUnit MEGACOULOMB = SI.COULOMB.withPrefix(SI.MEGA);
+ public static final LinearUnit MICROCOULOMB = Metric.COULOMB
+ .withPrefix(Metric.MICRO);
+ public static final LinearUnit MILLICOULOMB = Metric.COULOMB
+ .withPrefix(Metric.MILLI);
+ public static final LinearUnit KILOCOULOMB = Metric.COULOMB.withPrefix(Metric.KILO);
+ public static final LinearUnit MEGACOULOMB = Metric.COULOMB.withPrefix(Metric.MEGA);
- public static final LinearUnit MICROAMPERE = SI.AMPERE.withPrefix(SI.MICRO);
- public static final LinearUnit MILLIAMPERE = SI.AMPERE.withPrefix(SI.MILLI);
+ public static final LinearUnit MICROAMPERE = Metric.AMPERE.withPrefix(Metric.MICRO);
+ public static final LinearUnit MILLIAMPERE = Metric.AMPERE.withPrefix(Metric.MILLI);
- public static final LinearUnit MICROVOLT = SI.VOLT.withPrefix(SI.MICRO);
- public static final LinearUnit MILLIVOLT = SI.VOLT.withPrefix(SI.MILLI);
- public static final LinearUnit KILOVOLT = SI.VOLT.withPrefix(SI.KILO);
- public static final LinearUnit MEGAVOLT = SI.VOLT.withPrefix(SI.MEGA);
+ public static final LinearUnit MICROVOLT = Metric.VOLT.withPrefix(Metric.MICRO);
+ public static final LinearUnit MILLIVOLT = Metric.VOLT.withPrefix(Metric.MILLI);
+ public static final LinearUnit KILOVOLT = Metric.VOLT.withPrefix(Metric.KILO);
+ public static final LinearUnit MEGAVOLT = Metric.VOLT.withPrefix(Metric.MEGA);
- public static final LinearUnit KILOOHM = SI.OHM.withPrefix(SI.KILO);
- public static final LinearUnit MEGAOHM = SI.OHM.withPrefix(SI.MEGA);
+ public static final LinearUnit KILOOHM = Metric.OHM.withPrefix(Metric.KILO);
+ public static final LinearUnit MEGAOHM = Metric.OHM.withPrefix(Metric.MEGA);
// sets of prefixes
public static final Set<UnitPrefix> ALL_PREFIXES = Set.of(DEKA, HECTO, KILO,
@@ -473,7 +473,7 @@ public final class SI {
MILLI, MICRO, NANO, PICO, FEMTO, ATTO, ZEPTO, YOCTO);
// You may NOT get SI instances!
- private SI() {
+ private Metric() {
throw new AssertionError();
}
}
diff --git a/src/main/java/sevenUnits/unit/USCustomary.java b/src/main/java/sevenUnits/unit/USCustomary.java
index 76356c0..459071f 100644
--- a/src/main/java/sevenUnits/unit/USCustomary.java
+++ b/src/main/java/sevenUnits/unit/USCustomary.java
@@ -52,7 +52,7 @@ public final class USCustomary {
public static final LinearUnit YARD = BritishImperial.Length.YARD;
public static final LinearUnit MILE = BritishImperial.Length.MILE;
- public static final LinearUnit SURVEY_FOOT = SI.METRE.times(1200.0 / 3937.0);
+ public static final LinearUnit SURVEY_FOOT = Metric.METRE.times(1200.0 / 3937.0);
public static final LinearUnit SURVEY_LINK = SURVEY_FOOT.times(33.0 / 50.0);
public static final LinearUnit SURVEY_ROD = SURVEY_FOOT.times(16.5);
public static final LinearUnit SURVEY_CHAIN = SURVEY_ROD.times(4);
@@ -97,7 +97,7 @@ public final class USCustomary {
public static final LinearUnit CUBIC_YARD = Length.YARD.toExponent(3);
public static final LinearUnit ACRE_FOOT = Area.ACRE.times(Length.FOOT);
- public static final LinearUnit MINIM = SI.LITRE.withPrefix(SI.MICRO).times(61.611519921875);
+ public static final LinearUnit MINIM = Metric.LITRE.withPrefix(Metric.MICRO).times(61.611519921875);
public static final LinearUnit FLUID_DRAM = MINIM.times(60);
public static final LinearUnit TEASPOON = MINIM.times(80);
public static final LinearUnit TABLESPOON = TEASPOON.times(3);
@@ -112,7 +112,7 @@ public final class USCustomary {
public static final LinearUnit OIL_BARREL = GALLON.times(42);
public static final LinearUnit HOGSHEAD = GALLON.times(63);
- public static final LinearUnit DRY_PINT = SI.LITRE.times(0.5506104713575);
+ public static final LinearUnit DRY_PINT = Metric.LITRE.times(0.5506104713575);
public static final LinearUnit DRY_QUART = DRY_PINT.times(2);
public static final LinearUnit DRY_GALLON = DRY_QUART.times(4);
public static final LinearUnit PECK = DRY_GALLON.times(2);
@@ -128,7 +128,7 @@ public final class USCustomary {
public static final LinearUnit KILOCALORIE = BritishImperial.KILOCALORIE;
public static final LinearUnit FOOT_POUND = POUND_FORCE.times(Length.FOOT);
- public static final LinearUnit HORSEPOWER = Length.FOOT.times(POUND_FORCE).dividedBy(SI.MINUTE).times(33000);
+ public static final LinearUnit HORSEPOWER = Length.FOOT.times(POUND_FORCE).dividedBy(Metric.MINUTE).times(33000);
public static final LinearUnit POUND_PER_SQUARE_INCH = POUND_FORCE.dividedBy(Length.INCH.toExponent(2));
public static final Unit FAHRENHEIT = BritishImperial.FAHRENHEIT;
diff --git a/src/main/java/sevenUnits/unit/Unit.java b/src/main/java/sevenUnits/unit/Unit.java
index 8fcacb8..58b4e10 100644
--- a/src/main/java/sevenUnits/unit/Unit.java
+++ b/src/main/java/sevenUnits/unit/Unit.java
@@ -117,7 +117,7 @@ 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");
@@ -192,7 +192,7 @@ public abstract class Unit implements Nameable {
*
* @implSpec This method is used by {@link #convertTo}, and its behaviour
* affects the behaviour of {@code convertTo}.
- *
+ *
* @param value value expressed in <b>base</b> unit
* @return value expressed in <b>this</b> unit
* @since 2018-12-22
@@ -208,7 +208,7 @@ public abstract class Unit implements Nameable {
* {@code other.convertFromBase(this.convertToBase(value))}.
* Therefore, overriding either of those methods will change the
* output of this method.
- *
+ *
* @param other unit to convert to
* @param value value to convert
* @return converted value
@@ -235,7 +235,7 @@ public abstract class Unit implements Nameable {
* {@code other.convertFromBase(this.convertToBase(value))}.
* Therefore, overriding either of those methods will change the
* output of this method.
- *
+ *
* @param other unitlike form to convert to
* @param value value to convert
* @param <W> type of value to convert to
@@ -270,7 +270,7 @@ public abstract class Unit implements Nameable {
*
* @implSpec This method is used by {@link #convertTo}, and its behaviour
* affects the behaviour of {@code convertTo}.
- *
+ *
* @param value value expressed in <b>this</b> unit
* @return value expressed in <b>base</b> unit
* @since 2018-12-22
@@ -342,7 +342,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;
}
diff --git a/src/main/java/sevenUnits/unit/UnitDatabase.java b/src/main/java/sevenUnits/unit/UnitDatabase.java
index a40f000..b45d9cf 100644
--- a/src/main/java/sevenUnits/unit/UnitDatabase.java
+++ b/src/main/java/sevenUnits/unit/UnitDatabase.java
@@ -1116,7 +1116,7 @@ public final class UnitDatabase {
private static final LinearUnit exponentiateUnits(final LinearUnit base,
final LinearUnit exponentUnit) {
// exponent function - first check if o2 is a number,
- if (exponentUnit.getBase().equals(SI.ONE.getBase())) {
+ if (exponentUnit.getBase().equals(Metric.ONE.getBase())) {
// then check if it is an integer,
final double exponent = exponentUnit.getConversionFactor();
if (DecimalComparison.equals(exponent % 1, 0))
@@ -1142,7 +1142,7 @@ public final class UnitDatabase {
private static final LinearUnitValue exponentiateUnitValues(
final LinearUnitValue base, final LinearUnitValue exponentValue) {
// exponent function - first check if o2 is a number,
- if (exponentValue.canConvertTo(SI.ONE)) {
+ if (exponentValue.canConvertTo(Metric.ONE)) {
// then check if it is an integer,
final double exponent = exponentValue.getValueExact();
if (DecimalComparison.equals(exponent % 1, 0))
@@ -1676,7 +1676,7 @@ public final class UnitDatabase {
final BigDecimal number = new BigDecimal(name);
final double uncertainty = Math.pow(10, -number.scale());
- return LinearUnitValue.of(SI.ONE,
+ return LinearUnitValue.of(Metric.ONE,
UncertainDouble.of(number.doubleValue(), uncertainty));
} catch (final NumberFormatException e) {
return LinearUnitValue.getExact(this.getLinearUnit(name), 1);
@@ -1786,7 +1786,7 @@ public final class UnitDatabase {
public Unit getUnit(final String name) {
try {
final double value = Double.parseDouble(name);
- return SI.ONE.times(value);
+ return Metric.ONE.times(value);
} catch (final NumberFormatException e) {
final Unit unit = this.units.get(name);
if (unit == null)