package org.springframework.cloud.stream.module.throughput;
/**
* Helps with conversion between units of time. Similar in spirit to
* {@link java.util.concurrent.TimeUnit}, but the conversion method
* uses double and does not truncate.
*
* @author Eric Bottard
*/
public enum TimeUnit {
ns(1),
ms(1000),
s(1000L * 1000),
m(1000L * 1000 * 60),
h(1000L * 1000 * 60 * 60);
private final long nanos;
TimeUnit(long nanos) {
this.nanos = nanos;
}
public double convert(long howMany, TimeUnit original) {
return (double) howMany * original.nanos / this.nanos;
}
public static void main(String[] args) {
System.out.println(String.format("%7.2f%n", 123.44));
}
}