package com.tutego.ch_06.read;
import org.springframework.core.convert.converter.Converter;
import org.springframework.shell.standard.ShellComponent;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
@ShellComponent
public class LocalDateConverter implements Converter<String, LocalDate> {
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ISO_LOCAL_DATE;
@Override
public LocalDate convert(String raw) {
try {
return LocalDate.parse(raw, FORMATTER);
} catch (DateTimeParseException e) {
throw new IllegalArgumentException(
"Invalid date format. Please use ISO format (yyyy-MM-dd), e.g., 2024-01-15", e
);
}
}
}