/**********************************************************\
| |
| hprose |
| |
| Official WebSite: http://www.hprose.com/ |
| http://www.hprose.org/ |
| |
\**********************************************************/
/**********************************************************\
* *
* DurationConverter.java *
* *
* DurationConverter class for Java. *
* *
* LastModified: Aug 6, 2016 *
* Author: Ma Bingyao <andot@hprose.com> *
* *
\**********************************************************/
package hprose.io.convert.java8;
import hprose.io.convert.Converter;
import java.lang.reflect.Type;
import java.time.Duration;
public class DurationConverter implements Converter<Duration> {
public final static DurationConverter instance = new DurationConverter();
public Duration convertTo(Object obj, Type type) {
if (obj instanceof String) {
return Duration.parse((String) obj);
}
else if (obj instanceof char[]) {
return Duration.parse(new String((char[]) obj));
}
else if (obj instanceof Long) {
return Duration.ofNanos((Long) obj);
}
else if (obj instanceof Double) {
return Duration.ofNanos(((Double) obj).longValue());
}
return (Duration) obj;
}
}