package com.astamuse.asta4d.data.convertor;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
public class String2Java8LocalTime extends AbstractString2Java8DateConvertor<LocalTime> implements DataValueConvertor<String, LocalTime> {
//@formatter:off
public static final DateTimeFormatter ISO_TIME_TIME_ZONE_VARIANT = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.append(DateTimeFormatter.ISO_LOCAL_TIME)
.optionalStart()
.appendOffset("+HHmm", "Z")
.toFormatter();
static final DateTimeFormatter[] dtfs = new DateTimeFormatter[] {
DateTimeFormatter.ISO_LOCAL_TIME,
DateTimeFormatter.ISO_TIME,
ISO_TIME_TIME_ZONE_VARIANT,
DateTimeFormatter.ofPattern("HHmmss.SSSZ"),
DateTimeFormatter.ofPattern("HHmmss.SSS"),
DateTimeFormatter.ofPattern("HHmmss"),
};
//@formatter:on
protected DateTimeFormatter[] availableFormatters() {
return dtfs;
}
@Override
protected LocalTime convert2Target(DateTimeFormatter formatter, String obj) {
return formatter.parse(obj, LocalTime::from);
}
}