summaryrefslogtreecommitdiff
path: root/src/main/java/sevenUnits
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/sevenUnits')
-rw-r--r--src/main/java/sevenUnits/unit/Metric.java153
-rw-r--r--src/main/java/sevenUnits/utils/NameSymbol.java3
2 files changed, 100 insertions, 56 deletions
diff --git a/src/main/java/sevenUnits/unit/Metric.java b/src/main/java/sevenUnits/unit/Metric.java
index 78e3769..7ede085 100644
--- a/src/main/java/sevenUnits/unit/Metric.java
+++ b/src/main/java/sevenUnits/unit/Metric.java
@@ -19,6 +19,7 @@ package sevenUnits.unit;
import java.util.Set;
import sevenUnits.utils.NameSymbol;
+import sevenUnits.utils.NamedObjectProduct;
import sevenUnits.utils.ObjectProduct;
/**
@@ -114,32 +115,39 @@ public final class Metric {
public static final class Dimensions {
public static final ObjectProduct<BaseDimension> EMPTY = ObjectProduct
.empty();
- public static final ObjectProduct<BaseDimension> LENGTH = ObjectProduct
- .oneOf(BaseDimensions.LENGTH);
- public static final ObjectProduct<BaseDimension> MASS = ObjectProduct
- .oneOf(BaseDimensions.MASS);
- public static final ObjectProduct<BaseDimension> TIME = ObjectProduct
- .oneOf(BaseDimensions.TIME);
- public static final ObjectProduct<BaseDimension> ELECTRIC_CURRENT = ObjectProduct
- .oneOf(BaseDimensions.ELECTRIC_CURRENT);
- public static final ObjectProduct<BaseDimension> TEMPERATURE = ObjectProduct
- .oneOf(BaseDimensions.TEMPERATURE);
- public static final ObjectProduct<BaseDimension> QUANTITY = ObjectProduct
- .oneOf(BaseDimensions.QUANTITY);
- public static final ObjectProduct<BaseDimension> LUMINOUS_INTENSITY = ObjectProduct
- .oneOf(BaseDimensions.LUMINOUS_INTENSITY);
- public static final ObjectProduct<BaseDimension> INFORMATION = ObjectProduct
- .oneOf(BaseDimensions.INFORMATION);
- public static final ObjectProduct<BaseDimension> CURRENCY = ObjectProduct
- .oneOf(BaseDimensions.CURRENCY);
+ public static final NamedObjectProduct<BaseDimension> LENGTH = ObjectProduct
+ .oneOf(BaseDimensions.LENGTH)
+ .withName(NameSymbol.of("Length", "L"));
+ public static final NamedObjectProduct<BaseDimension> MASS = ObjectProduct
+ .oneOf(BaseDimensions.MASS).withName(NameSymbol.of("Mass", "M"));
+ public static final NamedObjectProduct<BaseDimension> TIME = ObjectProduct
+ .oneOf(BaseDimensions.TIME).withName(NameSymbol.of("Time", "T"));
+ public static final NamedObjectProduct<BaseDimension> ELECTRIC_CURRENT = ObjectProduct
+ .oneOf(BaseDimensions.ELECTRIC_CURRENT)
+ .withName(NameSymbol.of("Current", "I"));
+ public static final NamedObjectProduct<BaseDimension> TEMPERATURE = ObjectProduct
+ .oneOf(BaseDimensions.TEMPERATURE)
+ .withName(NameSymbol.of("Temperature", "\u0398"));
+ public static final NamedObjectProduct<BaseDimension> QUANTITY = ObjectProduct
+ .oneOf(BaseDimensions.QUANTITY)
+ .withName(NameSymbol.of("Quantity", "N"));
+ public static final NamedObjectProduct<BaseDimension> LUMINOUS_INTENSITY = ObjectProduct
+ .oneOf(BaseDimensions.LUMINOUS_INTENSITY)
+ .withName(NameSymbol.of("Luminous Intensity", "J"));
+ public static final NamedObjectProduct<BaseDimension> INFORMATION = ObjectProduct
+ .oneOf(BaseDimensions.INFORMATION)
+ .withName(NameSymbol.ofName("Information"));
+ public static final NamedObjectProduct<BaseDimension> CURRENCY = ObjectProduct
+ .oneOf(BaseDimensions.CURRENCY)
+ .withName(NameSymbol.ofName("Currency"));
// derived dimensions without named SI units
public static final ObjectProduct<BaseDimension> AREA = LENGTH
.times(LENGTH);
public static final ObjectProduct<BaseDimension> VOLUME = AREA
.times(LENGTH);
- public static final ObjectProduct<BaseDimension> VELOCITY = LENGTH
- .dividedBy(TIME);
+ public static final NamedObjectProduct<BaseDimension> VELOCITY = LENGTH
+ .dividedBy(TIME).withName(NameSymbol.ofName("Velocity"));
public static final ObjectProduct<BaseDimension> ACCELERATION = VELOCITY
.dividedBy(TIME);
public static final ObjectProduct<BaseDimension> WAVENUMBER = EMPTY
@@ -403,54 +411,89 @@ public final class Metric {
.withName(NameSymbol.of("exbi", "Ei"));
// a few prefixed units
- 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 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 = 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 KILOCOULOMB = Metric.COULOMB
+ .withPrefix(Metric.KILO);
+ public static final LinearUnit MEGACOULOMB = Metric.COULOMB
+ .withPrefix(Metric.MEGA);
- public static final LinearUnit MICROAMPERE = Metric.AMPERE.withPrefix(Metric.MICRO);
- public static final LinearUnit MILLIAMPERE = Metric.AMPERE.withPrefix(Metric.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 = 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 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 = Metric.OHM.withPrefix(Metric.KILO);
public static final LinearUnit MEGAOHM = Metric.OHM.withPrefix(Metric.MEGA);
diff --git a/src/main/java/sevenUnits/utils/NameSymbol.java b/src/main/java/sevenUnits/utils/NameSymbol.java
index 255e82f..41cf41d 100644
--- a/src/main/java/sevenUnits/utils/NameSymbol.java
+++ b/src/main/java/sevenUnits/utils/NameSymbol.java
@@ -283,7 +283,8 @@ public final class NameSymbol {
if (this.isEmpty())
return "NameSymbol.EMPTY";
else if (this.primaryName.isPresent() && this.symbol.isPresent())
- return this.primaryName + " (" + this.symbol + ")";
+ return this.primaryName.orElseThrow() + " ("
+ + this.symbol.orElseThrow() + ")";
else
return this.primaryName.orElseGet(this.symbol::orElseThrow);
}