diff options
author | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2019-03-16 14:55:07 -0400 |
---|---|---|
committer | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2019-03-16 14:55:07 -0400 |
commit | b20cd4223b4ffc03e334627a82ca4eff9738912c (patch) | |
tree | a7119f540e36eeb431eab8f97d096cdc45d14cc4 /src/unitConverter/unit/SI.java | |
parent | 5c4cd6d206e195d0c5efce747e8670f8e77cb59c (diff) |
Moved project to Maven.
Diffstat (limited to 'src/unitConverter/unit/SI.java')
-rw-r--r-- | src/unitConverter/unit/SI.java | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/unitConverter/unit/SI.java b/src/unitConverter/unit/SI.java deleted file mode 100644 index 54eb4c5..0000000 --- a/src/unitConverter/unit/SI.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Copyright (C) 2018 Adrien Hopkins - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ -package unitConverter.unit; - -import java.util.HashSet; -import java.util.Objects; -import java.util.Set; - -import unitConverter.dimension.StandardDimensions; -import unitConverter.dimension.UnitDimension; - -/** - * The SI, which holds all SI units - * - * @author Adrien Hopkins - * @since 2018-12-23 - * @since v0.1.0 - */ -public enum SI implements UnitSystem { - SI; - - /** - * This system's base units. - * - * @since 2019-01-25 - * @since v0.1.0 - */ - private static final Set<BaseUnit> baseUnits = new HashSet<>(); - - // base units - public static final BaseUnit METRE = SI.getBaseUnit(StandardDimensions.LENGTH); - public static final BaseUnit KILOGRAM = SI.getBaseUnit(StandardDimensions.MASS); - public static final BaseUnit SECOND = SI.getBaseUnit(StandardDimensions.TIME); - public static final BaseUnit AMPERE = SI.getBaseUnit(StandardDimensions.ELECTRIC_CURRENT); - public static final BaseUnit KELVIN = SI.getBaseUnit(StandardDimensions.TEMPERATURE); - public static final BaseUnit MOLE = SI.getBaseUnit(StandardDimensions.QUANTITY); - public static final BaseUnit CANDELA = SI.getBaseUnit(StandardDimensions.LUMINOUS_INTENSITY); - - @Override - public BaseUnit getBaseUnit(final UnitDimension dimension) { - // try to find an existing unit before creating a new one - - Objects.requireNonNull(dimension, "dimension must not be null."); - for (final BaseUnit unit : baseUnits) { - // it will be equal since the conditions for equality are dimension and system, - // and system is always SI. - if (unit.getDimension().equals(dimension)) - return unit; - } - // could not find an existing base unit - final BaseUnit unit = new BaseUnit(dimension, this); - baseUnits.add(unit); - return unit; - } - - @Override - public String getName() { - return "SI"; - } -} |