From 79e1653caf5c30667877a158433cbcd766a135af Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Wed, 4 Jun 2025 19:45:37 -0500 Subject: Add version numbers to all @since tags Specifically, for every @since tag with a date, I added another that contains the correspending version. I did not add date @since tags to comments that do not have them, as that would be too tedious for what it's worth. These dates could still be found by using git bisect though. --- src/main/java/sevenUnits/unit/BaseDimension.java | 3 +++ src/main/java/sevenUnits/unit/BaseUnit.java | 6 ++++++ src/main/java/sevenUnits/unit/BritishImperial.java | 5 +++++ src/main/java/sevenUnits/unit/FunctionalUnit.java | 5 +++++ src/main/java/sevenUnits/unit/LinearUnit.java | 14 +++++++++++++ src/main/java/sevenUnits/unit/LinearUnitValue.java | 23 +++++++++++++++++++++ .../java/sevenUnits/unit/LoadingException.java | 1 + src/main/java/sevenUnits/unit/Metric.java | 2 ++ src/main/java/sevenUnits/unit/USCustomary.java | 5 +++++ src/main/java/sevenUnits/unit/Unit.java | 14 +++++++++++++ src/main/java/sevenUnits/unit/UnitDatabase.java | 24 ++++++++++++++++++++++ src/main/java/sevenUnits/unit/UnitPrefix.java | 11 ++++++++++ src/main/java/sevenUnits/unit/UnitType.java | 2 ++ src/main/java/sevenUnits/unit/UnitValue.java | 6 ++++++ 14 files changed, 121 insertions(+) (limited to 'src/main/java/sevenUnits/unit') diff --git a/src/main/java/sevenUnits/unit/BaseDimension.java b/src/main/java/sevenUnits/unit/BaseDimension.java index cfa6af9..fe7b772 100644 --- a/src/main/java/sevenUnits/unit/BaseDimension.java +++ b/src/main/java/sevenUnits/unit/BaseDimension.java @@ -26,6 +26,7 @@ import sevenUnits.utils.Nameable; * * @author Adrien Hopkins * @since 2019-10-16 + * @since v0.3.0 */ public final class BaseDimension implements Nameable { /** @@ -35,6 +36,7 @@ public final class BaseDimension implements Nameable { * @param symbol symbol used for dimension * @return dimension * @since 2019-10-16 + * @since v0.3.0 */ public static BaseDimension valueOf(final String name, final String symbol) { return new BaseDimension(name, symbol); @@ -57,6 +59,7 @@ public final class BaseDimension implements Nameable { * @param symbol symbol of unit * @throws NullPointerException if any argument is null * @since 2019-10-16 + * @since v0.3.0 */ private BaseDimension(final String name, final String symbol) { this.name = Objects.requireNonNull(name, "name must not be null."); diff --git a/src/main/java/sevenUnits/unit/BaseUnit.java b/src/main/java/sevenUnits/unit/BaseUnit.java index 0d375f8..2898de5 100644 --- a/src/main/java/sevenUnits/unit/BaseUnit.java +++ b/src/main/java/sevenUnits/unit/BaseUnit.java @@ -31,6 +31,7 @@ import sevenUnits.utils.NameSymbol; * * @author Adrien Hopkins * @since 2019-10-16 + * @since v0.3.0 */ public final class BaseUnit extends Unit { /** @@ -41,6 +42,7 @@ public final class BaseUnit extends Unit { * @param symbol symbol of unit * @return base unit * @since 2019-10-16 + * @since v0.3.0 */ public static BaseUnit valueOf(final BaseDimension dimension, final String name, final String symbol) { @@ -56,6 +58,7 @@ public final class BaseUnit extends Unit { * @param otherNames other possible names of unit * @return base unit * @since 2019-10-21 + * @since v0.3.0 */ public static BaseUnit valueOf(final BaseDimension dimension, final String name, final String symbol, final Set otherNames) { @@ -75,6 +78,7 @@ public final class BaseUnit extends Unit { * @param symbol symbol of unit * @throws NullPointerException if any argument is null * @since 2019-10-16 + * @since v0.3.0 */ private BaseUnit(final BaseDimension dimension, final String primaryName, final String symbol, final Set otherNames) { @@ -90,6 +94,7 @@ public final class BaseUnit extends Unit { * * @return this unit as a {@code LinearUnit} * @since 2019-10-16 + * @since v0.3.0 */ public LinearUnit asLinearUnit() { return LinearUnit.valueOf(this.getBase(), 1); @@ -108,6 +113,7 @@ public final class BaseUnit extends Unit { /** * @return dimension * @since 2019-10-16 + * @since v0.3.0 */ public final BaseDimension getBaseDimension() { return this.dimension; diff --git a/src/main/java/sevenUnits/unit/BritishImperial.java b/src/main/java/sevenUnits/unit/BritishImperial.java index e327055..a6fd43f 100644 --- a/src/main/java/sevenUnits/unit/BritishImperial.java +++ b/src/main/java/sevenUnits/unit/BritishImperial.java @@ -23,6 +23,7 @@ import sevenUnits.utils.NameSymbol; * * @author Adrien Hopkins * @since 2019-10-21 + * @since v0.3.0 */ // this class is just constants, most of which are obvious from the variable name // so no need to check for missing values @@ -33,6 +34,7 @@ public final class BritishImperial { * * @author Adrien Hopkins * @since 2019-11-08 + * @since v0.3.0 */ public static final class Area { public static final LinearUnit SQUARE_FOOT = Length.FOOT.toExponent(2); @@ -48,6 +50,7 @@ public final class BritishImperial { * * @author Adrien Hopkins * @since 2019-10-28 + * @since v0.3.0 */ public static final class Length { /** @@ -81,6 +84,7 @@ public final class BritishImperial { * * @author Adrien Hopkins * @since 2019-11-08 + * @since v0.3.0 */ public static final class Mass { public static final LinearUnit POUND = Metric.GRAM.times(453.59237); @@ -99,6 +103,7 @@ public final class BritishImperial { * * @author Adrien Hopkins * @since 2019-11-08 + * @since v0.3.0 */ public static final class Volume { public static final LinearUnit FLUID_OUNCE = Metric.LITRE diff --git a/src/main/java/sevenUnits/unit/FunctionalUnit.java b/src/main/java/sevenUnits/unit/FunctionalUnit.java index fb24629..41db164 100644 --- a/src/main/java/sevenUnits/unit/FunctionalUnit.java +++ b/src/main/java/sevenUnits/unit/FunctionalUnit.java @@ -27,6 +27,7 @@ import sevenUnits.utils.ObjectProduct; * * @author Adrien Hopkins * @since 2019-05-22 + * @since v0.3.0 */ final class FunctionalUnit extends Unit { /** @@ -34,6 +35,7 @@ final class FunctionalUnit extends Unit { * that value expressed in this unit. * * @since 2019-05-22 + * @since v0.3.0 */ private final DoubleUnaryOperator converterFrom; @@ -42,6 +44,7 @@ final class FunctionalUnit extends Unit { * value expressed in the unit's base. * * @since 2019-05-22 + * @since v0.3.0 */ private final DoubleUnaryOperator converterTo; @@ -55,6 +58,7 @@ final class FunctionalUnit extends Unit { * and returns that value expressed in the unit's base. * @throws NullPointerException if any argument is null * @since 2019-05-22 + * @since v0.3.0 */ public FunctionalUnit(final ObjectProduct base, final DoubleUnaryOperator converterFrom, @@ -77,6 +81,7 @@ final class FunctionalUnit extends Unit { * @param ns name and symbol of resulting unit * @throws NullPointerException if any argument is null * @since 2019-05-22 + * @since v0.3.0 */ public FunctionalUnit(final ObjectProduct base, final DoubleUnaryOperator converterFrom, diff --git a/src/main/java/sevenUnits/unit/LinearUnit.java b/src/main/java/sevenUnits/unit/LinearUnit.java index 6c1aba3..7191196 100644 --- a/src/main/java/sevenUnits/unit/LinearUnit.java +++ b/src/main/java/sevenUnits/unit/LinearUnit.java @@ -29,6 +29,7 @@ import sevenUnits.utils.UncertainDouble; * * @author Adrien Hopkins * @since 2019-10-16 + * @since v0.3.0 */ public final class LinearUnit extends Unit { /** @@ -39,6 +40,7 @@ public final class LinearUnit extends Unit { * @param value value to convert * @return value expressed as a {@code LinearUnit} * @since 2019-10-16 + * @since v0.3.0 * @throws NullPointerException if unit is null */ public static LinearUnit fromUnitValue(final Unit unit, final double value) { @@ -56,6 +58,7 @@ public final class LinearUnit extends Unit { * @param ns name(s) and symbol of unit * @return value expressed as a {@code LinearUnit} * @since 2019-10-21 + * @since v0.3.0 * @throws NullPointerException if unit or ns is null */ public static LinearUnit fromUnitValue(final Unit unit, final double value, @@ -70,6 +73,7 @@ public final class LinearUnit extends Unit { * @return the base unit associated with {@code unit}, as a * {@code LinearUnit}. * @since 2020-10-02 + * @since v0.3.0 */ public static LinearUnit getBase(final Unit unit) { return new LinearUnit(unit.getBase(), 1, NameSymbol.EMPTY); @@ -84,6 +88,7 @@ public final class LinearUnit extends Unit { * @param conversionFactor number to multiply base by * @return product of base and conversion factor * @since 2019-10-16 + * @since v0.3.0 * @throws NullPointerException if unitBase is null */ public static LinearUnit valueOf(final ObjectProduct unitBase, @@ -101,6 +106,7 @@ public final class LinearUnit extends Unit { * @param ns name(s) and symbol of unit * @return product of base and conversion factor * @since 2019-10-21 + * @since v0.3.0 * @throws NullPointerException if unitBase is null */ public static LinearUnit valueOf(final ObjectProduct unitBase, @@ -116,6 +122,7 @@ public final class LinearUnit extends Unit { * * * @since 2019-10-16 + * @since v0.3.0 */ private final double conversionFactor; @@ -125,6 +132,7 @@ public final class LinearUnit extends Unit { * @param unitBase base of linear unit * @param conversionFactor conversion factor between base and unit * @since 2019-10-16 + * @since v0.3.0 */ private LinearUnit(final ObjectProduct unitBase, final double conversionFactor, final NameSymbol ns) { @@ -150,6 +158,7 @@ public final class LinearUnit extends Unit { * @param value value to convert * @return converted value * @since 2019-09-07 + * @since v0.3.0 * @throws IllegalArgumentException if {@code other} is incompatible for * conversion with this unit (as tested by * {@link Unit#canConvertTo}). @@ -181,6 +190,7 @@ public final class LinearUnit extends Unit { * Converts an {@code UncertainDouble} to the base unit. * * @since 2020-09-07 + * @since v0.3.0 */ UncertainDouble convertToBase(final UncertainDouble value) { return value.timesExact(this.getConversionFactor()); @@ -249,6 +259,7 @@ public final class LinearUnit extends Unit { /** * @return conversion factor * @since 2019-10-16 + * @since v0.3.0 */ public double getConversionFactor() { return this.conversionFactor; @@ -270,6 +281,7 @@ public final class LinearUnit extends Unit { * is a {@code BaseUnit b} where * {@code b.asLinearUnit().equals(this)} returns {@code true}.) * @since 2019-10-16 + * @since v0.3.0 */ public boolean isBase() { return this.isCoherent() && this.getBase().isSingleObject(); @@ -278,6 +290,7 @@ public final class LinearUnit extends Unit { /** * @return whether this unit is coherent (i.e. has conversion factor 1) * @since 2019-10-16 + * @since v0.3.0 */ public boolean isCoherent() { return this.getConversionFactor() == 1; @@ -403,6 +416,7 @@ public final class LinearUnit extends Unit { * @param exponent exponent to raise unit to * @return result of rounded exponentation * @since 2024-08-22 + * @since v1.0.0 * @see ObjectProduct#toExponentRounded */ public LinearUnit toExponentRounded(final double exponent) { diff --git a/src/main/java/sevenUnits/unit/LinearUnitValue.java b/src/main/java/sevenUnits/unit/LinearUnitValue.java index 8d30907..86520d7 100644 --- a/src/main/java/sevenUnits/unit/LinearUnitValue.java +++ b/src/main/java/sevenUnits/unit/LinearUnitValue.java @@ -34,6 +34,7 @@ import sevenUnits.utils.UncertainDouble; * * @author Adrien Hopkins * @since 2020-07-26 + * @since v0.3.0 */ public final class LinearUnitValue { /** The value 1 as a LinearUnitValue. */ @@ -46,6 +47,7 @@ public final class LinearUnitValue { * @param value value to express * @return exact {@code LinearUnitValue} instance * @since 2020-07-26 + * @since v0.3.0 */ public static final LinearUnitValue getExact(final LinearUnit unit, final double value) { @@ -61,6 +63,7 @@ public final class LinearUnitValue { * @param value value to express * @return uncertain {@code LinearUnitValue} instance * @since 2020-07-26 + * @since v0.3.0 */ public static final LinearUnitValue of(final LinearUnit unit, final UncertainDouble value) { @@ -77,6 +80,7 @@ public final class LinearUnitValue { * @param unit unit to express as * @param value value to express * @since 2020-07-26 + * @since v0.3.0 */ private LinearUnitValue(final LinearUnit unit, final UncertainDouble value) { this.unit = unit; @@ -87,6 +91,7 @@ public final class LinearUnitValue { * @return this value as a {@code UnitValue}. All uncertainty information is * removed from the returned value. * @since 2020-08-04 + * @since v0.3.0 */ public final UnitValue asUnitValue() { return UnitValue.of(this.unit, this.value.value()); @@ -96,6 +101,7 @@ public final class LinearUnitValue { * @param other a {@code LinearUnit} * @return true iff this value can be represented with {@code other}. * @since 2020-07-26 + * @since v0.3.0 */ public final boolean canConvertTo(final LinearUnit other) { return this.unit.canConvertTo(other); @@ -108,6 +114,7 @@ public final class LinearUnitValue { * @param other new unit to express value in * @return value expressed in {@code other} * @since 2020-07-26 + * @since v0.3.0 */ public final LinearUnitValue convertTo(final LinearUnit other) { return LinearUnitValue.of(other, this.unit.convertTo(other, this.value)); @@ -122,6 +129,7 @@ public final class LinearUnitValue { * @throws IllegalArgumentException if no units are provided or units * provided have incompatible bases * @since 2024-08-15 + * @since v1.0.0 */ public final List convertToMultiple( final List others) { @@ -155,6 +163,7 @@ public final class LinearUnitValue { * @param divisor value to divide by * @return multiplied value * @since 2020-07-28 + * @since v0.3.0 */ public LinearUnitValue dividedBy(final double divisor) { return LinearUnitValue.of(this.unit, this.value.dividedByExact(divisor)); @@ -166,6 +175,7 @@ public final class LinearUnitValue { * @param divisor value to multiply by * @return quotient * @since 2020-07-28 + * @since v0.3.0 */ public LinearUnitValue dividedBy(final LinearUnitValue divisor) { return LinearUnitValue.of(this.unit.dividedBy(divisor.unit), @@ -178,6 +188,7 @@ public final class LinearUnitValue { * km) returns true. * * @since 2020-07-26 + * @since v0.3.0 * @see #equals(Object, boolean) */ @Override @@ -202,6 +213,7 @@ public final class LinearUnitValue { * @return true iff this and obj are equal * * @since 2020-07-28 + * @since v0.3.0 */ public boolean equals(final Object obj, final boolean avoidFPErrors) { if (!avoidFPErrors) @@ -219,6 +231,7 @@ public final class LinearUnitValue { * @return true iff this and other are within each other's uncertainty range * * @since 2020-07-26 + * @since v0.3.0 */ public boolean equivalent(final LinearUnitValue other) { if (other == null @@ -234,6 +247,7 @@ public final class LinearUnitValue { /** * @return the unit * @since 2020-09-29 + * @since v0.3.0 */ public final LinearUnit getUnit() { return this.unit; @@ -242,6 +256,7 @@ public final class LinearUnitValue { /** * @return the value * @since 2020-09-29 + * @since v0.3.0 */ public final UncertainDouble getValue() { return this.value; @@ -250,6 +265,7 @@ public final class LinearUnitValue { /** * @return the exact value * @since 2020-09-07 + * @since v0.3.0 */ public final double getValueExact() { return this.value.value(); @@ -270,6 +286,7 @@ public final class LinearUnitValue { * @throws IllegalArgumentException if {@code subtrahend} has a unit that is * not compatible for addition * @since 2020-07-26 + * @since v0.3.0 */ public LinearUnitValue minus(final LinearUnitValue subtrahend) { Objects.requireNonNull(subtrahend, "subtrahend may not be null"); @@ -292,6 +309,7 @@ public final class LinearUnitValue { * @throws IllegalArgumentException if {@code addend} has a unit that is not * compatible for addition * @since 2020-07-26 + * @since v0.3.0 */ public LinearUnitValue plus(final LinearUnitValue addend) { Objects.requireNonNull(addend, "addend may not be null"); @@ -312,6 +330,7 @@ public final class LinearUnitValue { * @param multiplier value to multiply by * @return multiplied value * @since 2020-07-28 + * @since v0.3.0 */ public LinearUnitValue times(final double multiplier) { return LinearUnitValue.of(this.unit, this.value.timesExact(multiplier)); @@ -323,6 +342,7 @@ public final class LinearUnitValue { * @param multiplier value to multiply by * @return product * @since 2020-07-28 + * @since v0.3.0 */ public LinearUnitValue times(final LinearUnitValue multiplier) { return LinearUnitValue.of(this.unit.times(multiplier.unit), @@ -335,6 +355,7 @@ public final class LinearUnitValue { * @param exponent exponent to raise to * @return result of exponentiation * @since 2020-07-28 + * @since v0.3.0 */ public LinearUnitValue toExponent(final int exponent) { return LinearUnitValue.of(this.unit.toExponent(exponent), @@ -348,6 +369,7 @@ public final class LinearUnitValue { * @return result of exponentation * * @since 2024-08-22 + * @since v1.0.0 * @see ObjectProduct#toExponentRounded */ public LinearUnitValue toExponentRounded(final double exponent) { @@ -375,6 +397,7 @@ public final class LinearUnitValue { * @return string representing this value * * @since 2020-07-26 + * @since v0.3.0 */ public String toString(final boolean showUncertainty, RoundingMode roundingMode) { diff --git a/src/main/java/sevenUnits/unit/LoadingException.java b/src/main/java/sevenUnits/unit/LoadingException.java index b806147..7b3d708 100644 --- a/src/main/java/sevenUnits/unit/LoadingException.java +++ b/src/main/java/sevenUnits/unit/LoadingException.java @@ -25,6 +25,7 @@ import java.util.Optional; * * @author Adrien Hopkins * @since 2024-08-22 + * @since v1.0.0 */ public final class LoadingException extends RuntimeException { /** The type of file that was being loaded. */ diff --git a/src/main/java/sevenUnits/unit/Metric.java b/src/main/java/sevenUnits/unit/Metric.java index 166cbcf..34fd0b8 100644 --- a/src/main/java/sevenUnits/unit/Metric.java +++ b/src/main/java/sevenUnits/unit/Metric.java @@ -36,6 +36,7 @@ import sevenUnits.utils.ObjectProduct; * * @author Adrien Hopkins * @since 2019-10-16 + * @since v0.3.0 */ // this class is just constants, most of which are obvious from the variable name // so no need to check for missing values @@ -109,6 +110,7 @@ public final class Metric { * * @author Adrien Hopkins * @since 2019-11-08 + * @since v0.3.0 */ public static final class Constants { public static final LinearUnit EARTH_GRAVITY = METRE.dividedBy(SECOND) diff --git a/src/main/java/sevenUnits/unit/USCustomary.java b/src/main/java/sevenUnits/unit/USCustomary.java index 1923d9e..be8c5e2 100644 --- a/src/main/java/sevenUnits/unit/USCustomary.java +++ b/src/main/java/sevenUnits/unit/USCustomary.java @@ -21,6 +21,7 @@ package sevenUnits.unit; * * @author Adrien Hopkins * @since 2019-10-21 + * @since v0.3.0 */ // this class is just constants, most of which are obvious from the variable name // so no need to check for missing values @@ -31,6 +32,7 @@ public final class USCustomary { * * @author Adrien Hopkins * @since 2019-11-08 + * @since v0.3.0 */ public static final class Area { public static final LinearUnit SQUARE_SURVEY_FOOT = Length.SURVEY_FOOT @@ -49,6 +51,7 @@ public final class USCustomary { * * @author Adrien Hopkins * @since 2019-10-28 + * @since v0.3.0 */ public static final class Length { public static final LinearUnit FOOT = BritishImperial.Length.FOOT; @@ -79,6 +82,7 @@ public final class USCustomary { * * @author Adrien Hopkins * @since 2019-11-08 + * @since v0.3.0 */ public static final class Mass { public static final LinearUnit GRAIN = BritishImperial.Mass.GRAIN; @@ -99,6 +103,7 @@ public final class USCustomary { * * @author Adrien Hopkins * @since 2019-11-08 + * @since v0.3.0 */ public static final class Volume { public static final LinearUnit CUBIC_INCH = Length.INCH.toExponent(3); diff --git a/src/main/java/sevenUnits/unit/Unit.java b/src/main/java/sevenUnits/unit/Unit.java index 5d67ed0..d651fe2 100644 --- a/src/main/java/sevenUnits/unit/Unit.java +++ b/src/main/java/sevenUnits/unit/Unit.java @@ -31,6 +31,7 @@ import sevenUnits.utils.ObjectProduct; * * @author Adrien Hopkins * @since 2019-10-16 + * @since v0.3.0 */ public abstract class Unit implements Nameable { /** @@ -51,6 +52,7 @@ public abstract class Unit implements Nameable { * and returns that value expressed in the unit's base. * @return a unit that uses the provided functions to convert. * @since 2019-05-22 + * @since v0.3.0 * @throws NullPointerException if any argument is null */ public static final Unit fromConversionFunctions( @@ -79,6 +81,7 @@ public abstract class Unit implements Nameable { * @param ns names and symbol of unit * @return a unit that uses the provided functions to convert. * @since 2019-05-22 + * @since v0.3.0 * @throws NullPointerException if any argument is null */ public static final Unit fromConversionFunctions( @@ -92,6 +95,7 @@ public abstract class Unit implements Nameable { * The combination of units that this unit is based on. * * @since 2019-10-16 + * @since v0.3.0 */ private final ObjectProduct unitBase; @@ -99,6 +103,7 @@ public abstract class Unit implements Nameable { * This unit's name(s) and symbol * * @since 2020-09-07 + * @since v0.3.0 */ private final NameSymbol nameSymbol; @@ -106,6 +111,7 @@ public abstract class Unit implements Nameable { * Cache storing the result of getDimension() * * @since 2019-10-16 + * @since v0.3.0 */ private transient ObjectProduct dimension = null; @@ -113,6 +119,7 @@ public abstract class Unit implements Nameable { * A constructor that constructs {@code BaseUnit} instances. * * @since 2019-10-16 + * @since v0.3.0 */ Unit(final NameSymbol nameSymbol) { if (this instanceof BaseUnit) { @@ -128,6 +135,7 @@ public abstract class Unit implements Nameable { * @param unitBase base of unit * @param ns names and symbol of unit * @since 2019-10-16 + * @since v0.3.0 * @throws NullPointerException if unitBase or ns is null */ protected Unit(ObjectProduct unitBase, NameSymbol ns) { @@ -187,6 +195,7 @@ public abstract class Unit implements Nameable { * @param value value to convert * @return converted value * @since 2019-05-22 + * @since v0.3.0 * @throws IllegalArgumentException if {@code other} is incompatible for * conversion with this unit (as tested by * {@link Unit#canConvertTo}). @@ -255,6 +264,7 @@ public abstract class Unit implements Nameable { /** * @return the nameSymbol * @since 2020-09-07 + * @since v0.3.0 */ @Override public final NameSymbol getNameSymbol() { @@ -281,6 +291,7 @@ public abstract class Unit implements Nameable { * @return true iff this unit is metric. * * @since 2020-08-27 + * @since v0.3.0 */ public final boolean isMetric() { // first condition - check that it is a linear unit @@ -302,6 +313,7 @@ public abstract class Unit implements Nameable { /** * @return a string representing this unit's definition * @since 2022-03-10 + * @since v0.3.0 */ public String toDefinitionString() { if (!this.unitBase.getNameSymbol().isEmpty()) @@ -314,6 +326,7 @@ public abstract class Unit implements Nameable { /** * @return a string containing both this unit's name and its definition * @since 2022-03-10 + * @since v0.3.0 */ public final String toFullString() { return this.toString() + " (" + this.toDefinitionString() + ")"; @@ -333,6 +346,7 @@ public abstract class Unit implements Nameable { * @param ns name(s) and symbol to use * @return a copy of this unit with provided name(s) and symbol * @since 2019-10-21 + * @since v0.3.0 * @throws NullPointerException if ns is null */ public Unit withName(final NameSymbol ns) { diff --git a/src/main/java/sevenUnits/unit/UnitDatabase.java b/src/main/java/sevenUnits/unit/UnitDatabase.java index 6cf794b..b0d026f 100644 --- a/src/main/java/sevenUnits/unit/UnitDatabase.java +++ b/src/main/java/sevenUnits/unit/UnitDatabase.java @@ -138,6 +138,7 @@ public final class UnitDatabase { /** * @since 2019-05-03 + * @since v0.3.0 */ @Override public boolean equals(final Object o) { @@ -160,6 +161,7 @@ public final class UnitDatabase { /** * @since 2019-05-03 + * @since v0.3.0 */ @Override public int hashCode() { @@ -181,6 +183,7 @@ public final class UnitDatabase { * value. * * @since 2019-05-03 + * @since v0.3.0 */ @Override public String toString() { @@ -307,6 +310,7 @@ public final class UnitDatabase { * @return the next element in the iterator, without iterating over * it * @since 2019-05-03 + * @since v0.3.0 */ private Entry peek() { if (!this.hasNext()) @@ -333,6 +337,7 @@ public final class UnitDatabase { * of the representation are unspecified and subject to change. * * @since 2019-05-03 + * @since v0.3.0 */ @Override public String toString() { @@ -622,6 +627,7 @@ public final class UnitDatabase { * @return the next element in the iterator, without iterating over * it * @since 2019-05-03 + * @since v0.3.0 */ private String peek() { if (!this.hasNext()) @@ -645,6 +651,7 @@ public final class UnitDatabase { * of the representation are unspecified and subject to change. * * @since 2019-05-03 + * @since v0.3.0 */ @Override public String toString() { @@ -1136,6 +1143,7 @@ public final class UnitDatabase { * @param exponentUnit exponent * @return result * @since 2020-08-04 + * @since v0.3.0 */ private static final LinearUnitValue exponentiateUnitValues( final LinearUnitValue base, final LinearUnitValue exponentValue) { @@ -1151,6 +1159,7 @@ public final class UnitDatabase { /** * @return true if entry represents a removable duplicate entry of map. * @since 2021-05-22 + * @since v0.3.0 */ static boolean isRemovableDuplicate(Map map, Entry entry) { @@ -1236,6 +1245,7 @@ public final class UnitDatabase { * A parser that can parse unit value expressions. * * @since 2020-08-04 + * @since v0.3.0 */ private final ExpressionParser unitValueExpressionParser = new ExpressionParser.Builder<>( this::getLinearUnitValue) @@ -1297,6 +1307,7 @@ public final class UnitDatabase { * @param prefixRepetitionRule the rule that determines when prefix * repetition is allowed * @since 2020-08-26 + * @since v0.3.0 */ public UnitDatabase(Predicate> prefixRepetitionRule) { this.prefixlessUnits = new HashMap<>(); @@ -1468,6 +1479,7 @@ public final class UnitDatabase { * @param name name of unit set * @param value unit set to add * @since 2024-08-16 + * @since v1.0.0 */ public void addUnitSet(String name, List value) { if (value.isEmpty()) @@ -1486,6 +1498,7 @@ public final class UnitDatabase { * Removes all units, unit sets, prefixes and dimensions from this database. * * @since 2022-02-26 + * @since v0.4.0 */ public void clear() { this.dimensions.clear(); @@ -1538,6 +1551,7 @@ public final class UnitDatabase { * @return true iff there is a unit set with this name * * @since 2024-08-16 + * @since v1.0.0 */ public boolean containsUnitSetName(String name) { return this.unitSets.containsKey(name); @@ -1559,6 +1573,7 @@ public final class UnitDatabase { * @param expression expression to parse * @return {@code LinearUnitValue} representing value of expression * @since 2020-08-04 + * @since v0.3.0 */ public LinearUnitValue evaluateUnitExpression(final String expression) { Objects.requireNonNull(expression, "expression must not be null."); @@ -1697,6 +1712,7 @@ public final class UnitDatabase { * @param name name of unit * @return {@code LinearUnitValue} instance * @since 2020-08-04 + * @since v0.3.0 */ LinearUnitValue getLinearUnitValue(final String name) { try { @@ -1735,6 +1751,7 @@ public final class UnitDatabase { * @param unitName name of unit * @return prefixes * @since 2020-08-26 + * @since v0.3.0 */ List getPrefixesFromName(final String unitName) { final List prefixes = new ArrayList<>(); @@ -1800,6 +1817,7 @@ public final class UnitDatabase { /** * @return the prefixRepetitionRule * @since 2020-08-26 + * @since v0.3.0 */ public final Predicate> getPrefixRepetitionRule() { return this.prefixRepetitionRule; @@ -1904,6 +1922,7 @@ public final class UnitDatabase { * @return unit set with that name * * @since 2024-08-16 + * @since v1.0.0 */ public List getUnitSet(String name) { final List unitSet = this.unitSets.get(name); @@ -1916,6 +1935,7 @@ public final class UnitDatabase { * Parses a semicolon-separated expression to get the unit set being used. * * @since 2024-08-22 + * @since v1.0.0 */ List getUnitSetFromExpression(String expression) { final String[] parts = expression.split(";"); @@ -1991,6 +2011,7 @@ public final class UnitDatabase { * @param stream stream to load from * @return list of all errors that happened loading the stream * @since 2021-03-27 + * @since v0.3.0 */ public List loadDimensionsFromStream( final InputStream stream) { @@ -2062,6 +2083,7 @@ public final class UnitDatabase { * @param stream stream to load from * @return list of all errors that happened loading the stream * @since 2021-03-27 + * @since v0.3.0 */ public List loadUnitsFromStream(InputStream stream) { final List errors = new ArrayList<>(); @@ -2098,6 +2120,7 @@ public final class UnitDatabase { /** * @param prefixRepetitionRule the prefixRepetitionRule to set * @since 2020-08-26 + * @since v0.3.0 */ public final void setPrefixRepetitionRule( Predicate> prefixRepetitionRule) { @@ -2169,6 +2192,7 @@ public final class UnitDatabase { /** * @return an unmodifiable map mapping names to unit sets * @since 2024-08-16 + * @since v1.0.0 */ public Map> unitSetMap() { return Collections.unmodifiableMap(this.unitSets); diff --git a/src/main/java/sevenUnits/unit/UnitPrefix.java b/src/main/java/sevenUnits/unit/UnitPrefix.java index 6ac9128..0fd3421 100644 --- a/src/main/java/sevenUnits/unit/UnitPrefix.java +++ b/src/main/java/sevenUnits/unit/UnitPrefix.java @@ -28,6 +28,7 @@ import sevenUnits.utils.Nameable; * * @author Adrien Hopkins * @since 2019-10-16 + * @since v0.3.0 */ public final class UnitPrefix implements Nameable { /** @@ -36,6 +37,7 @@ public final class UnitPrefix implements Nameable { * @param multiplier multiplier of prefix * @return prefix * @since 2019-10-16 + * @since v0.3.0 */ public static UnitPrefix valueOf(final double multiplier) { return new UnitPrefix(multiplier, NameSymbol.EMPTY); @@ -48,6 +50,7 @@ public final class UnitPrefix implements Nameable { * @param ns name(s) and symbol of prefix * @return prefix * @since 2019-10-16 + * @since v0.3.0 * @throws NullPointerException if ns is null */ public static UnitPrefix valueOf(final double multiplier, @@ -60,6 +63,7 @@ public final class UnitPrefix implements Nameable { * This prefix's name(s) and symbol. * * @since 2022-04-16 + * @since v0.4.0 */ private final NameSymbol nameSymbol; @@ -67,6 +71,7 @@ public final class UnitPrefix implements Nameable { * The number that this prefix multiplies units by * * @since 2019-10-16 + * @since v0.3.0 */ private final double multiplier; @@ -88,6 +93,7 @@ public final class UnitPrefix implements Nameable { * @param divisor number to divide by * @return quotient of prefix and scalar * @since 2019-10-16 + * @since v0.3.0 */ public UnitPrefix dividedBy(final double divisor) { return valueOf(this.getMultiplier() / divisor); @@ -143,6 +149,7 @@ public final class UnitPrefix implements Nameable { /** * @return prefix's multiplier * @since 2019-11-26 + * @since v0.3.0 */ public double getMultiplier() { return this.multiplier; @@ -169,6 +176,7 @@ public final class UnitPrefix implements Nameable { * @param multiplicand number to multiply by * @return product of prefix and scalar * @since 2019-10-16 + * @since v0.3.0 */ public UnitPrefix times(final double multiplicand) { return valueOf(this.getMultiplier() * multiplicand); @@ -180,6 +188,7 @@ public final class UnitPrefix implements Nameable { * @return sum of prefixes * * @since 2024-03-03 + * @since v0.5.0 */ public UnitPrefix plus(final UnitPrefix other) { return valueOf(this.getMultiplier() + other.getMultiplier()); @@ -191,6 +200,7 @@ public final class UnitPrefix implements Nameable { * @return difference of prefixes * * @since 2024-03-03 + * @since v0.5.0 */ public UnitPrefix minus(final UnitPrefix other) { return valueOf(this.getMultiplier() - other.getMultiplier()); @@ -239,6 +249,7 @@ public final class UnitPrefix implements Nameable { * @param ns name(s) and symbol to use * @return copy of this prefix with provided name(s) and symbol * @since 2019-11-26 + * @since v0.3.0 * @throws NullPointerException if ns is null */ public UnitPrefix withName(final NameSymbol ns) { diff --git a/src/main/java/sevenUnits/unit/UnitType.java b/src/main/java/sevenUnits/unit/UnitType.java index d445418..a331d3d 100644 --- a/src/main/java/sevenUnits/unit/UnitType.java +++ b/src/main/java/sevenUnits/unit/UnitType.java @@ -30,6 +30,7 @@ import java.util.function.Predicate; * * * @since 2022-04-10 + * @since v0.4.0 */ public enum UnitType { /** Units that pass {@link Unit#isMetric} */ @@ -51,6 +52,7 @@ public enum UnitType { * @param isSemiMetric predicate to determine if a unit is semi-metric * @return type of unit * @since 2022-04-18 + * @since v0.4.0 */ public static final UnitType getType(Unit u, Predicate isSemiMetric) { if (isSemiMetric.test(u)) diff --git a/src/main/java/sevenUnits/unit/UnitValue.java b/src/main/java/sevenUnits/unit/UnitValue.java index 97b7e54..4003c17 100644 --- a/src/main/java/sevenUnits/unit/UnitValue.java +++ b/src/main/java/sevenUnits/unit/UnitValue.java @@ -29,6 +29,7 @@ import sevenUnits.utils.NameSymbol; * * @author Adrien Hopkins * @since 2020-07-26 + * @since v0.3.0 */ public final class UnitValue { /** @@ -59,6 +60,7 @@ public final class UnitValue { * @param other unit to try to convert to * @return true if this value can be converted to {@code other}. * @since 2020-10-01 + * @since v0.3.0 */ public final boolean canConvertTo(Unit other) { return this.unit.canConvertTo(other); @@ -84,6 +86,7 @@ public final class UnitValue { * needed. * @return this unit as a {@link LinearUnitValue} * @since 2020-09-29 + * @since v0.3.0 */ public final LinearUnitValue convertToBase(NameSymbol ns) { final LinearUnit base = LinearUnit.getBase(this.unit).withName(ns); @@ -95,6 +98,7 @@ public final class UnitValue { * @return a {@code LinearUnitValue} that is equivalent to this value. It * will have zero uncertainty. * @since 2020-09-29 + * @since v0.3.0 */ public final LinearUnitValue convertToLinear(LinearUnit newUnit) { return LinearUnitValue.getExact(newUnit, @@ -121,6 +125,7 @@ public final class UnitValue { /** * @return the unit * @since 2020-09-29 + * @since v0.3.0 */ public final Unit getUnit() { return this.unit; @@ -129,6 +134,7 @@ public final class UnitValue { /** * @return the value * @since 2020-09-29 + * @since v0.3.0 */ public final double getValue() { return this.value; -- cgit v1.2.3