summaryrefslogtreecommitdiff
path: root/src/org/unitConverter/unit/Unit.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/unitConverter/unit/Unit.java')
-rwxr-xr-xsrc/org/unitConverter/unit/Unit.java110
1 files changed, 0 insertions, 110 deletions
diff --git a/src/org/unitConverter/unit/Unit.java b/src/org/unitConverter/unit/Unit.java
deleted file mode 100755
index 86fc5a2..0000000
--- a/src/org/unitConverter/unit/Unit.java
+++ /dev/null
@@ -1,110 +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 org.unitConverter.unit;
-
-import java.util.Objects;
-
-import org.unitConverter.dimension.UnitDimension;
-
-/**
- * A unit that has an associated base unit, and can convert a value expressed in it to and from that base.
- *
- * @author Adrien Hopkins
- * @since 2018-12-22
- * @since v0.1.0
- */
-public interface Unit {
- /**
- * Checks if a value expressed in this unit can be converted to a value expressed in {@code other}
- *
- * @param other
- * unit to test with
- * @return true if the units are compatible
- * @since 2019-01-13
- * @since v0.1.0
- */
- default boolean canConvertTo(final Unit other) {
- return Objects.equals(this.getBase(), other.getBase());
- }
-
- /**
- * Converts from a value expressed in this unit's base unit to a value expressed in this unit.
- * <p>
- * This must be the inverse of {@code convertToBase}, so {@code convertFromBase(convertToBase(value))} must be equal
- * to {@code value} for any value, ignoring precision loss by roundoff error.
- * </p>
- * <p>
- * If this unit <i>is</i> a base unit, this method should return {@code value}.
- * </p>
- *
- * @param value
- * value expressed in <b>base</b> unit
- * @return value expressed in <b>this</b> unit
- * @since 2018-12-22
- * @since v0.1.0
- */
- double convertFromBase(double value);
-
- /**
- * Converts from a value expressed in this unit to a value expressed in this unit's base unit.
- * <p>
- * This must be the inverse of {@code convertFromBase}, so {@code convertToBase(convertFromBase(value))} must be
- * equal to {@code value} for any value, ignoring precision loss by roundoff error.
- * </p>
- * <p>
- * If this unit <i>is</i> a base unit, this method should return {@code value}.
- * </p>
- *
- * @param value
- * value expressed in <b>this</b> unit
- * @return value expressed in <b>base</b> unit
- * @since 2018-12-22
- * @since v0.1.0
- */
- double convertToBase(double value);
-
- /**
- * <p>
- * Returns the base unit associated with this unit.
- * </p>
- * <p>
- * The dimension of this unit must be equal to the dimension of the returned unit.
- * </p>
- * <p>
- * If this unit <i>is</i> a base unit, this method should return this unit.\
- * </p>
- *
- * @return base unit associated with this unit
- * @since 2018-12-22
- * @since v0.1.0
- */
- BaseUnit getBase();
-
- /**
- * @return dimension measured by this unit
- * @since 2018-12-22
- * @since v0.1.0
- */
- UnitDimension getDimension();
-
- /**
- * @return system that this unit is a part of
- * @since 2018-12-23
- * @since v0.1.0
- */
- UnitSystem getSystem();
-}