summaryrefslogtreecommitdiff
path: root/src/unitConverter/unit/LinearUnit.java
diff options
context:
space:
mode:
authorAdrien Hopkins <adrien.p.hopkins@gmail.com>2019-02-01 09:13:39 -0500
committerAdrien Hopkins <adrien.p.hopkins@gmail.com>2019-02-01 09:13:39 -0500
commita3dfff2c1a3a906fa2c3cb3f4cec1a150c5bf795 (patch)
treeb45241f4c56a055148f4a15a47d2d6ff04fd382a /src/unitConverter/unit/LinearUnit.java
parent8ff06e8e5661645c00656c40d15c8d13db665b57 (diff)
parenta6a66e6fb11675e0ea738ad8d0b5a9ba7d2fac2b (diff)
Merge v0.1.0 into develop
Diffstat (limited to 'src/unitConverter/unit/LinearUnit.java')
-rw-r--r--src/unitConverter/unit/LinearUnit.java32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/unitConverter/unit/LinearUnit.java b/src/unitConverter/unit/LinearUnit.java
index e2c9eb2..b786b3b 100644
--- a/src/unitConverter/unit/LinearUnit.java
+++ b/src/unitConverter/unit/LinearUnit.java
@@ -24,13 +24,15 @@ import unitConverter.dimension.UnitDimension;
* A unit that is equal to a certain number multiplied by its base.
*
* @author Adrien Hopkins
- * @since 2019-01-25
+ * @since 2018-12-22
+ * @since v0.1.0
*/
public final class LinearUnit extends AbstractUnit {
/**
* The value of one of this unit in this unit's base unit
*
* @since 2018-12-22
+ * @since v0.1.0
*/
private final double conversionFactor;
@@ -43,6 +45,7 @@ public final class LinearUnit extends AbstractUnit {
* @param conversionFactor
* value of one of this unit in its base
* @since 2018-12-23
+ * @since v0.1.0
*/
LinearUnit(final BaseUnit base, final double conversionFactor) {
super(base);
@@ -57,6 +60,7 @@ public final class LinearUnit extends AbstractUnit {
* @param system
* system unit is part of
* @since 2019-01-25
+ * @since v0.1.0
*/
LinearUnit(final UnitDimension dimension, final UnitSystem system, final double conversionFactor) {
super(dimension, system);
@@ -80,6 +84,7 @@ public final class LinearUnit extends AbstractUnit {
* scalar to divide by
* @return quotient
* @since 2018-12-23
+ * @since v0.1.0
*/
public LinearUnit dividedBy(final double divisor) {
return new LinearUnit(this.getBase(), this.getConversionFactor() / divisor);
@@ -94,6 +99,7 @@ public final class LinearUnit extends AbstractUnit {
* @throws NullPointerException
* if other is null
* @since 2018-12-22
+ * @since v0.1.0
*/
public LinearUnit dividedBy(final LinearUnit other) {
Objects.requireNonNull(other, "other must not be null");
@@ -101,14 +107,33 @@ public final class LinearUnit extends AbstractUnit {
return new LinearUnit(base, this.getConversionFactor() / other.getConversionFactor());
}
+ @Override
+ public boolean equals(final Object obj) {
+ if (!(obj instanceof LinearUnit))
+ return false;
+ final LinearUnit other = (LinearUnit) obj;
+ return Objects.equals(this.getBase(), other.getBase())
+ && Objects.equals(this.getConversionFactor(), other.getConversionFactor());
+ }
+
/**
* @return conversionFactor
- * @since 2019-01-25
+ * @since 2018-12-22
+ * @since v0.1.0
*/
public final double getConversionFactor() {
return this.conversionFactor;
}
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = result * prime + this.getBase().hashCode();
+ result = result * prime + Double.hashCode(this.getConversionFactor());
+ return result;
+ }
+
/**
* Multiplies this unit by a scalar.
*
@@ -116,6 +141,7 @@ public final class LinearUnit extends AbstractUnit {
* scalar to multiply by
* @return product
* @since 2018-12-23
+ * @since v0.1.0
*/
public LinearUnit times(final double multiplier) {
return new LinearUnit(this.getBase(), this.getConversionFactor() * multiplier);
@@ -130,6 +156,7 @@ public final class LinearUnit extends AbstractUnit {
* @throws NullPointerException
* if other is null
* @since 2018-12-22
+ * @since v0.1.0
*/
public LinearUnit times(final LinearUnit other) {
Objects.requireNonNull(other, "other must not be null");
@@ -144,6 +171,7 @@ public final class LinearUnit extends AbstractUnit {
* exponent to exponientate unit to
* @return exponientated unit
* @since 2019-01-15
+ * @since v0.1.0
*/
public LinearUnit toExponent(final int exponent) {
return new LinearUnit(this.getBase().toExponent(exponent), Math.pow(this.conversionFactor, exponent));