/** * Multiplies this derived unit by another. * * @param that * The other unit. * @return The product of the two units. * @throws MultiplyException * Can't multiply these units. */ @Override protected Unit myMultiplyBy(final Unit that) throws MultiplyException { Unit result; if (dimension.getRank() == 0) { result = that; } else { if (!(that instanceof DerivedUnit)) { result = that.multiplyBy(this); } else { final UnitDimension thatDimension = ((DerivedUnit) that) .getDimension(); result = thatDimension.getRank() == 0 ? this : new DerivedUnitImpl(dimension .multiplyBy(thatDimension)); } } return result; }
/** * Multiplies this derived unit by another. * * @param that * The other unit. * @return The product of the two units. * @throws MultiplyException * Can't multiply these units. */ @Override protected Unit myMultiplyBy(final Unit that) throws MultiplyException { Unit result; if (dimension.getRank() == 0) { result = that; } else { if (!(that instanceof DerivedUnit)) { result = that.multiplyBy(this); } else { final UnitDimension thatDimension = ((DerivedUnit) that) .getDimension(); result = thatDimension.getRank() == 0 ? this : new DerivedUnitImpl(dimension .multiplyBy(thatDimension)); } } return result; }
/** * Divides this derived unit by another. * * @param that * The other unit. * @return The quotient of the two units. * @throws OperationException * Can't divide these units. */ @Override protected Unit myDivideBy(final Unit that) throws OperationException { Unit result; if (dimension.getRank() == 0) { result = that.raiseTo(-1); } else { if (!(that instanceof DerivedUnit)) { result = that.divideInto(this); } else { final UnitDimension thatDimension = ((DerivedUnit) that) .getDimension(); result = thatDimension.getRank() == 0 ? this : new DerivedUnitImpl(dimension.divideBy(thatDimension)); } } return result; }
/** * Divides this derived unit by another. * * @param that * The other unit. * @return The quotient of the two units. * @throws OperationException * Can't divide these units. */ @Override protected Unit myDivideBy(final Unit that) throws OperationException { Unit result; if (dimension.getRank() == 0) { result = that.raiseTo(-1); } else { if (!(that instanceof DerivedUnit)) { result = that.divideInto(this); } else { final UnitDimension thatDimension = ((DerivedUnit) that) .getDimension(); result = thatDimension.getRank() == 0 ? this : new DerivedUnitImpl(dimension.divideBy(thatDimension)); } } return result; }