diff options
author | Adrien Hopkins <masterofnumbers17@gmail.com> | 2019-11-26 20:53:27 -0500 |
---|---|---|
committer | Adrien Hopkins <masterofnumbers17@gmail.com> | 2019-11-26 20:53:27 -0500 |
commit | bff8f363ce5e2ca84da1d57a470f0648c4b338e6 (patch) | |
tree | 79e229cb9648c288aa8fcb5beb731c04ecf82573 /src/org/unitConverter/unit/Unit.java | |
parent | 7a0f427727db7fcafd389e1e2c4b3ab207acd5c2 (diff) |
Prefixes can now have names.
Diffstat (limited to 'src/org/unitConverter/unit/Unit.java')
-rw-r--r-- | src/org/unitConverter/unit/Unit.java | 217 |
1 files changed, 0 insertions, 217 deletions
diff --git a/src/org/unitConverter/unit/Unit.java b/src/org/unitConverter/unit/Unit.java index 737802a..35b32fc 100644 --- a/src/org/unitConverter/unit/Unit.java +++ b/src/org/unitConverter/unit/Unit.java @@ -16,7 +16,6 @@ */ package org.unitConverter.unit; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -36,222 +35,6 @@ import org.unitConverter.math.ObjectProduct; */ public abstract class Unit { /** - * A class that can be used to specify names and a symbol for a unit. - * - * @author Adrien Hopkins - * @since 2019-10-21 - */ - public static final class NameSymbol { - public static final NameSymbol EMPTY = new NameSymbol(Optional.empty(), Optional.empty(), new HashSet<>()); - - /** - * Gets a {@code NameSymbol} with a primary name, a symbol and no other names. - * - * @param name - * name to use - * @param symbol - * symbol to use - * @return NameSymbol instance - * @since 2019-10-21 - * @throws NullPointerException - * if name or symbol is null - */ - public static final NameSymbol of(final String name, final String symbol) { - return new NameSymbol(Optional.of(name), Optional.of(symbol), new HashSet<>()); - } - - /** - * Gets a {@code NameSymbol} with a primary name, a symbol and additional names. - * - * @param name - * name to use - * @param symbol - * symbol to use - * @param otherNames - * other names to use - * @return NameSymbol instance - * @since 2019-10-21 - * @throws NullPointerException - * if any argument is null - */ - public static final NameSymbol of(final String name, final String symbol, final Set<String> otherNames) { - return new NameSymbol(Optional.of(name), Optional.of(symbol), - new HashSet<>(Objects.requireNonNull(otherNames, "otherNames must not be null."))); - } - - /** - * h * Gets a {@code NameSymbol} with a primary name, a symbol and additional names. - * - * @param name - * name to use - * @param symbol - * symbol to use - * @param otherNames - * other names to use - * @return NameSymbol instance - * @since 2019-10-21 - * @throws NullPointerException - * if any argument is null - */ - public static final NameSymbol of(final String name, final String symbol, final String... otherNames) { - return new NameSymbol(Optional.of(name), Optional.of(symbol), - new HashSet<>(Arrays.asList(Objects.requireNonNull(otherNames, "otherNames must not be null.")))); - } - - /** - * Gets a {@code NameSymbol} with a primary name, a symbol and an additional name. - * - * @param name - * name to use - * @param symbol - * symbol to use - * @param otherNames - * other names to use - * @param name2 - * alternate name - * @return NameSymbol instance - * @since 2019-10-21 - * @throws NullPointerException - * if any argument is null - */ - public static final NameSymbol of(final String name, final String symbol, final String name2) { - final Set<String> otherNames = new HashSet<>(); - otherNames.add(Objects.requireNonNull(name2, "name2 must not be null.")); - return new NameSymbol(Optional.of(name), Optional.of(symbol), otherNames); - } - - /** - * Gets a {@code NameSymbol} with a primary name, a symbol and additional names. - * - * @param name - * name to use - * @param symbol - * symbol to use - * @param otherNames - * other names to use - * @param name2 - * alternate name - * @param name3 - * alternate name - * @return NameSymbol instance - * @since 2019-10-21 - * @throws NullPointerException - * if any argument is null - */ - public static final NameSymbol of(final String name, final String symbol, final String name2, - final String name3) { - final Set<String> otherNames = new HashSet<>(); - otherNames.add(Objects.requireNonNull(name2, "name2 must not be null.")); - otherNames.add(Objects.requireNonNull(name3, "name3 must not be null.")); - return new NameSymbol(Optional.of(name), Optional.of(symbol), otherNames); - } - - /** - * Gets a {@code NameSymbol} with a primary name, a symbol and additional names. - * - * @param name - * name to use - * @param symbol - * symbol to use - * @param otherNames - * other names to use - * @param name2 - * alternate name - * @param name3 - * alternate name - * @param name4 - * alternate name - * @return NameSymbol instance - * @since 2019-10-21 - * @throws NullPointerException - * if any argument is null - */ - public static final NameSymbol of(final String name, final String symbol, final String name2, - final String name3, final String name4) { - final Set<String> otherNames = new HashSet<>(); - otherNames.add(Objects.requireNonNull(name2, "name2 must not be null.")); - otherNames.add(Objects.requireNonNull(name3, "name3 must not be null.")); - otherNames.add(Objects.requireNonNull(name4, "name4 must not be null.")); - return new NameSymbol(Optional.of(name), Optional.of(symbol), otherNames); - } - - /** - * Gets a {@code NameSymbol} with a primary name, no symbol, and no other names. - * - * @param name - * name to use - * @return NameSymbol instance - * @since 2019-10-21 - * @throws NullPointerException - * if name is null - */ - public static final NameSymbol ofName(final String name) { - return new NameSymbol(Optional.of(name), Optional.empty(), new HashSet<>()); - } - - /** - * Gets a {@code NameSymbol} with a symbol and no names. - * - * @param symbol - * symbol to use - * @return NameSymbol instance - * @since 2019-10-21 - * @throws NullPointerException - * if symbol is null - */ - public static final NameSymbol ofSymbol(final String symbol) { - return new NameSymbol(Optional.empty(), Optional.of(symbol), new HashSet<>()); - } - - private final Optional<String> primaryName; - private final Optional<String> symbol; - - private final Set<String> otherNames; - - /** - * Creates the {@code NameSymbol}. - * - * @param primaryName - * primary name of unit - * @param symbol - * symbol used to represent unit - * @param otherNames - * other names and/or spellings - * @since 2019-10-21 - */ - private NameSymbol(final Optional<String> primaryName, final Optional<String> symbol, - final Set<String> otherNames) { - this.primaryName = primaryName; - this.symbol = symbol; - this.otherNames = Collections.unmodifiableSet(otherNames); - } - - /** - * @return otherNames - * @since 2019-10-21 - */ - public final Set<String> getOtherNames() { - return this.otherNames; - } - - /** - * @return primaryName - * @since 2019-10-21 - */ - public final Optional<String> getPrimaryName() { - return this.primaryName; - } - - /** - * @return symbol - * @since 2019-10-21 - */ - public final Optional<String> getSymbol() { - return this.symbol; - } - } - - /** * Returns a unit from its base and the functions it uses to convert to and from its base. * * <p> |