return (X) java.sql.Time.from( instant );
@Override @SuppressWarnings("unchecked") public <X> X unwrap(ZonedDateTime zonedDateTime, Class<X> type, WrapperOptions options) { if ( zonedDateTime == null ) { return null; } if ( ZonedDateTime.class.isAssignableFrom( type ) ) { return (X) zonedDateTime; } if ( Calendar.class.isAssignableFrom( type ) ) { return (X) GregorianCalendar.from( zonedDateTime ); } if ( Timestamp.class.isAssignableFrom( type ) ) { return (X) Timestamp.from( zonedDateTime.toInstant() ); } if ( java.sql.Date.class.isAssignableFrom( type ) ) { return (X) java.sql.Date.from( zonedDateTime.toInstant() ); } if ( java.sql.Time.class.isAssignableFrom( type ) ) { return (X) java.sql.Time.from( zonedDateTime.toInstant() ); } if ( Date.class.isAssignableFrom( type ) ) { return (X) Date.from( zonedDateTime.toInstant() ); } if ( Long.class.isAssignableFrom( type ) ) { return (X) Long.valueOf( zonedDateTime.toInstant().toEpochMilli() ); } throw unknownUnwrap( type ); }
@Override @SuppressWarnings("unchecked") public <X> X unwrap(Instant instant, Class<X> type, WrapperOptions options) { if ( instant == null ) { return null; } if ( Instant.class.isAssignableFrom( type ) ) { return (X) instant; } if ( Calendar.class.isAssignableFrom( type ) ) { final ZoneId zoneId = ZoneId.ofOffset( "UTC", ZoneOffset.UTC ); return (X) GregorianCalendar.from( instant.atZone( zoneId ) ); } if ( java.sql.Timestamp.class.isAssignableFrom( type ) ) { return (X) Timestamp.from( instant ); } if ( java.sql.Date.class.isAssignableFrom( type ) ) { return (X) java.sql.Date.from( instant ); } if ( java.sql.Time.class.isAssignableFrom( type ) ) { return (X) java.sql.Time.from( instant ); } if ( java.util.Date.class.isAssignableFrom( type ) ) { return (X) Date.from( instant ); } if ( Long.class.isAssignableFrom( type ) ) { return (X) Long.valueOf( instant.toEpochMilli() ); } throw unknownUnwrap( type ); }
@Override @SuppressWarnings("unchecked") public <X> X unwrap(OffsetDateTime offsetDateTime, Class<X> type, WrapperOptions options) { if ( offsetDateTime == null ) { return null; } if ( OffsetDateTime.class.isAssignableFrom( type ) ) { return (X) offsetDateTime; } if ( Calendar.class.isAssignableFrom( type ) ) { return (X) GregorianCalendar.from( offsetDateTime.toZonedDateTime() ); } if ( Timestamp.class.isAssignableFrom( type ) ) { return (X) Timestamp.from( offsetDateTime.toInstant() ); } if ( java.sql.Date.class.isAssignableFrom( type ) ) { return (X) java.sql.Date.from( offsetDateTime.toInstant() ); } if ( java.sql.Time.class.isAssignableFrom( type ) ) { return (X) java.sql.Time.from( offsetDateTime.toInstant() ); } if ( Date.class.isAssignableFrom( type ) ) { return (X) Date.from( offsetDateTime.toInstant() ); } if ( Long.class.isAssignableFrom( type ) ) { return (X) Long.valueOf( offsetDateTime.toInstant().toEpochMilli() ); } throw unknownUnwrap( type ); }
return (X) java.sql.Time.from( instant );
@Override @SuppressWarnings("unchecked") public <X> X unwrap(ZonedDateTime zonedDateTime, Class<X> type, SharedSessionContractImplementor session) { if ( zonedDateTime == null ) { return null; } if ( ZonedDateTime.class.isAssignableFrom( type ) ) { return (X) zonedDateTime; } if ( Calendar.class.isAssignableFrom( type ) ) { return (X) GregorianCalendar.from( zonedDateTime ); } if ( Timestamp.class.isAssignableFrom( type ) ) { return (X) Timestamp.from( zonedDateTime.toInstant() ); } if ( java.sql.Date.class.isAssignableFrom( type ) ) { return (X) java.sql.Date.from( zonedDateTime.toInstant() ); } if ( java.sql.Time.class.isAssignableFrom( type ) ) { return (X) java.sql.Time.from( zonedDateTime.toInstant() ); } if ( Date.class.isAssignableFrom( type ) ) { return (X) Date.from( zonedDateTime.toInstant() ); } if ( Long.class.isAssignableFrom( type ) ) { return (X) Long.valueOf( zonedDateTime.toInstant().toEpochMilli() ); } throw unknownUnwrap( type ); }
@Override public <T> T unwrap(Instant instant, Class<T> type, WrapperOptions options) { if (instant == null) { return null; } if (Instant.class.isAssignableFrom(type)) { return (T) instant; } if (Calendar.class.isAssignableFrom(type)) { final ZoneId zoneId = ZoneId.ofOffset("UTC", ZoneOffset.UTC); return (T) GregorianCalendar.from(instant.atZone(zoneId)); } if (java.sql.Timestamp.class.isAssignableFrom(type)) { return (T) Timestamp.from(instant); } if (java.sql.Date.class.isAssignableFrom(type)) { return (T) java.sql.Date.from(instant); } if (java.sql.Time.class.isAssignableFrom(type)) { return (T) java.sql.Time.from(instant); } if (java.util.Date.class.isAssignableFrom(type)) { return (T) Date.from(instant); } if (Long.class.isAssignableFrom(type)) { return (T) Long.valueOf(instant.toEpochMilli()); } throw unknownUnwrap(type); }
public static Object toDateTime(Field field, String value) { // TODO: Implement support for non-OffsetDateTime field types if (TemporalAccessor.class.isAssignableFrom(field.getType())) { return OffsetDateTime.parse(value); } OffsetDateTime dateTime = OffsetDateTime.parse(value); if (Timestamp.class.isAssignableFrom(field.getType())) { return Timestamp.from(dateTime.toInstant()); } if (Time.class.isAssignableFrom(field.getType())) { return Time.from(dateTime.toInstant()); } if (Date.class.isAssignableFrom(field.getType())) { return Date.from(dateTime.toInstant()); } throw new TypePropertyMismatchException(field, TemporalAccessor.class.getName() + " or " + Date.class.getName(), ContentType.DateTime); }
@Override @SuppressWarnings("unchecked") public <X> X unwrap(Instant instant, Class<X> type, SharedSessionContractImplementor session) { if ( instant == null ) { return null; } if ( Instant.class.isAssignableFrom( type ) ) { return (X) instant; } if ( Calendar.class.isAssignableFrom( type ) ) { final ZoneId zoneId = ZoneId.ofOffset( "UTC", ZoneOffset.UTC ); return (X) GregorianCalendar.from( instant.atZone( zoneId ) ); } if ( Timestamp.class.isAssignableFrom( type ) ) { return (X) Timestamp.from( instant ); } if ( java.sql.Date.class.isAssignableFrom( type ) ) { return (X) java.sql.Date.from( instant ); } if ( java.sql.Time.class.isAssignableFrom( type ) ) { return (X) java.sql.Time.from( instant ); } if ( Date.class.isAssignableFrom( type ) ) { return (X) Date.from( instant ); } if ( Long.class.isAssignableFrom( type ) ) { return (X) Long.valueOf( instant.toEpochMilli() ); } throw unknownUnwrap( type ); }
@Override public <T> T unwrap(Instant instant, Class<T> type, WrapperOptions options) { if (instant == null) { return null; } if (Instant.class.isAssignableFrom(type)) { return (T) instant; } if (Calendar.class.isAssignableFrom(type)) { final ZoneId zoneId = ZoneId.ofOffset("UTC", ZoneOffset.UTC); return (T) GregorianCalendar.from(instant.atZone(zoneId)); } if (java.sql.Timestamp.class.isAssignableFrom(type)) { return (T) Timestamp.from(instant); } if (java.sql.Date.class.isAssignableFrom(type)) { return (T) java.sql.Date.from(instant); } if (java.sql.Time.class.isAssignableFrom(type)) { return (T) java.sql.Time.from(instant); } if (java.util.Date.class.isAssignableFrom(type)) { return (T) Date.from(instant); } if (Long.class.isAssignableFrom(type)) { return (T) Long.valueOf(instant.toEpochMilli()); } throw unknownUnwrap(type); }
@Override @SuppressWarnings("unchecked") public <X> X unwrap(OffsetDateTime offsetDateTime, Class<X> type, SharedSessionContractImplementor session) { if ( offsetDateTime == null ) { return null; } if ( OffsetDateTime.class.isAssignableFrom( type ) ) { return (X) offsetDateTime; } if ( Calendar.class.isAssignableFrom( type ) ) { return (X) GregorianCalendar.from( offsetDateTime.toZonedDateTime() ); } if ( Timestamp.class.isAssignableFrom( type ) ) { return (X) Timestamp.from( offsetDateTime.toInstant() ); } if ( java.sql.Date.class.isAssignableFrom( type ) ) { return (X) java.sql.Date.from( offsetDateTime.toInstant() ); } if ( java.sql.Time.class.isAssignableFrom( type ) ) { return (X) java.sql.Time.from( offsetDateTime.toInstant() ); } if ( Date.class.isAssignableFrom( type ) ) { return (X) Date.from( offsetDateTime.toInstant() ); } if ( Long.class.isAssignableFrom( type ) ) { return (X) Long.valueOf( offsetDateTime.toInstant().toEpochMilli() ); } throw unknownUnwrap( type ); }
return DateUtils.toTime((java.util.Date)value); } else if (value instanceof Instant){ return DateUtils.toTime(java.sql.Time.from((Instant)value)); } else if (value instanceof ChronoLocalDate){ return DateUtils.toTime(java.sql.Time.from(Instant.EPOCH)); } else if (value instanceof LocalTime){ LocalTime localTime= LocalTime.class.cast(value);