Created
February 24, 2013 13:01
-
-
Save bivas/5023756 to your computer and use it in GitHub Desktop.
Helpful utility for transforming distance units from/to.
- Inspired by java.util.concurrent.TimeUnit
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package iam.bivas.commons.distance; | |
public enum DistanceUnit { | |
FEETS { | |
@Override | |
public double toMeters(final double units) { | |
return units / METER_TO_FEET; | |
} | |
@Override | |
public double toKilometers(final double units) { | |
return units / METER_TO_FEET / 1000.0; | |
} | |
@Override | |
public double toFeets(final double units) { | |
return units; | |
} | |
@Override | |
public double toMiles(final double units) { | |
return units / MILES_TO_FEET; | |
} | |
@Override | |
public double convert(final double units, final DistanceUnit distanceUnit) { | |
return distanceUnit.toFeets(units); | |
} | |
}, | |
METERS { | |
@Override | |
public double toFeets(final double units) { | |
return units * METER_TO_FEET; | |
} | |
@Override | |
public double toMeters(final double units) { | |
return units; | |
} | |
@Override | |
public double toKilometers(final double units) { | |
return units / 1000.0; | |
} | |
@Override | |
public double toMiles(final double units) { | |
return units * METER_TO_MILE; | |
} | |
@Override | |
public double convert(final double units, final DistanceUnit distanceUnit) { | |
return distanceUnit.toMeters(units); | |
} | |
}, | |
KILOMETERS { | |
@Override | |
public double toFeets(final double units) { | |
return units * 1000.0 * METER_TO_FEET; | |
} | |
@Override | |
public double toMeters(final double units) { | |
return units * 1000.0; | |
} | |
@Override | |
public double toKilometers(final double units) { | |
return units; | |
} | |
@Override | |
public double toMiles(final double units) { | |
return units * 1000.0 * METER_TO_MILE; | |
} | |
@Override | |
public double convert(final double units, final DistanceUnit distanceUnit) { | |
return distanceUnit.toKilometers(units); | |
} | |
}, | |
MILES { | |
@Override | |
public double toFeets(final double units) { | |
return units * MILES_TO_FEET; | |
} | |
@Override | |
public double toMeters(final double units) { | |
return units / METER_TO_MILE; | |
} | |
@Override | |
public double toKilometers(final double units) { | |
return units / METER_TO_MILE / 1000.0; | |
} | |
@Override | |
public double toMiles(final double units) { | |
return units; | |
} | |
@Override | |
public double convert(final double units, final DistanceUnit distanceUnit) { | |
return distanceUnit.toMiles(units); | |
} | |
}; | |
private static double METER_TO_FEET = 3.2808399; | |
private static double METER_TO_MILE = 0.000621371192; | |
private static double MILES_TO_FEET = 5280.0; | |
public double toFeets(final double units) { | |
throw new AbstractMethodError(); | |
} | |
public double toMeters(final double units) { | |
throw new AbstractMethodError(); | |
} | |
public double toKilometers(final double units) { | |
throw new AbstractMethodError(); | |
} | |
public double toMiles(final double units) { | |
throw new AbstractMethodError(); | |
} | |
public double convert(final double units, final DistanceUnit distanceUnit) { | |
throw new AbstractMethodError(); | |
} | |
} |
You can create a PR and fix it
Eliran Bivas
…On Thu, Feb 13, 2020, 06:09 jlussagnet ***@***.***> wrote:
Hi @bivas <https://github.com/bivas>. Very good idea, please beware that
"feet" is already plural, therefore, "feets" is incorrect in english ;-)
See https://en.wikipedia.org/wiki/Foot_(unit)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://gist.github.com/5023756?email_source=notifications&email_token=AAEBTQ3L4C7JVBIYQN3MF5LRCTBZNA5CNFSM4KUJVSA2YY3PNVWWK3TUL52HS4DFVNDWS43UINXW23LFNZ2KUY3PNVWWK3TUL5UWJTQAGBZ3G#gistcomment-3175347>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEBTQ5G65NGHNITAU7BRN3RCTBZNANCNFSM4KUJVSAQ>
.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi @bivas. Very good idea, please beware that "feet" is already plural, therefore, "feets" is incorrect in english ;-)
See https://en.wikipedia.org/wiki/Foot_(unit)