DateConverter.java
1.04 KB
package com.diligrp.cashier.assistant.pattern;
import com.diligrp.cashier.assistant.domain.SequenceKey;
import com.diligrp.cashier.assistant.exception.AssistantServiceException;
import com.diligrp.cashier.shared.ErrorCode;
import java.time.format.DateTimeFormatter;
public class DateConverter extends Converter<SequenceKey> {
private static final String DEFAULT_FORMAT = "yyyyMMdd";
private final String format;
public DateConverter(String format) {
if (format != null) {
try {
DateTimeFormatter.ofPattern(format);
} catch (Exception ex) {
throw new AssistantServiceException(ErrorCode.ILLEGAL_ARGUMENT_ERROR, "Invalid date format");
}
this.format = format;
} else {
this.format = DEFAULT_FORMAT;
}
}
@Override
public String convert(SequenceKey context) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
return context.getWhen().format(formatter);
}
}