Add Java 8 Time API support for BasicTypeConverter (#1537)

This commit is contained in:
Roland Praml
2018-11-13 20:53:38 +13:00
committed by Rob Bygrave
parent 0ab019ca2c
commit cfba4d2deb
@@ -7,6 +7,10 @@ import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Timestamp;
import java.sql.Types;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Calendar;
import java.util.UUID;
@@ -341,6 +345,9 @@ public final class BasicTypeConverter implements Serializable {
} else if (value instanceof String) {
return Timestamp.valueOf((String) value);
} else if (value instanceof LocalDateTime) {
return Timestamp.valueOf((LocalDateTime) value);
} else if (value instanceof Number) {
return new Timestamp(((Number) value).longValue());
@@ -361,6 +368,9 @@ public final class BasicTypeConverter implements Serializable {
} else if (value instanceof String) {
return java.sql.Time.valueOf((String) value);
} else if (value instanceof LocalTime) {
return java.sql.Time.valueOf((LocalTime) value);
} else {
String m = "Unable to convert [" + value.getClass().getName() + "] into a java.sql.Date.";
throw new RuntimeException(m);
@@ -390,6 +400,9 @@ public final class BasicTypeConverter implements Serializable {
} else if (value instanceof Number) {
return new java.sql.Date(((Number) value).longValue());
} else if (value instanceof LocalDate) {
return java.sql.Date.valueOf((LocalDate)value);
} else {
String m = "Unable to convert [" + value.getClass().getName() + "] into a java.sql.Date.";
throw new RuntimeException(m);