diff --git a/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/DateTimeConditionalConverter.java b/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/DateTimeConditionalConverter.java index 45e54bb32b8e72dec590e4c735e1f573d1d62444..44b14cfb0267c02291cb25f2e09699b472898db6 100644 --- a/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/DateTimeConditionalConverter.java +++ b/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/DateTimeConditionalConverter.java @@ -23,7 +23,7 @@ abstract class DateTimeConditionalConverter implements ConditionalGenericConv private final TypeDescriptor stringType = TypeDescriptor.valueOf(String.class); private final Map formatters = new ConcurrentHashMap<>(); - public DateTimeConditionalConverter() { + DateTimeConditionalConverter() { this.targetType = TypeDescriptor.valueOf(ResolvableType.forClass(getClass()).getSuperType().getGeneric(0).getRawClass()); } @@ -45,7 +45,7 @@ abstract class DateTimeConditionalConverter implements ConditionalGenericConv return convert((String) source, targetType); } - protected final T convert(String source, TypeDescriptor targetType) { + protected T convert(String source, TypeDescriptor targetType) { if (StringUtils.isBlank(source)) { return null; } @@ -69,14 +69,12 @@ abstract class DateTimeConditionalConverter implements ConditionalGenericConv return pattern; } - protected String defaultPattern() { - return DatePattern.NORM_DATETIME_PATTERN; - } - protected DateTimeFormatter ofPattern(String pattern) { return formatters.computeIfAbsent(pattern, ignore -> DatePattern.createFormatter(pattern)); } + protected abstract String defaultPattern(); + protected abstract T doConvert(Long source); protected abstract T doConvert(String source, DateTimeFormatter formatter); diff --git a/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/StringToDateConditionalConverter.java b/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/StringToDateConditionalConverter.java index d264f4a568bc795d7cd9b8728148b203b0a9678c..e352b3f050c2283077656c729ad0c2d5170ee0a8 100644 --- a/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/StringToDateConditionalConverter.java +++ b/commons/web-common/src/main/java/com/schbrain/common/web/support/converter/datetime/StringToDateConditionalConverter.java @@ -1,5 +1,6 @@ package com.schbrain.common.web.support.converter.datetime; +import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import java.time.format.DateTimeFormatter; @@ -13,6 +14,11 @@ class StringToDateConditionalConverter extends DateTimeConditionalConverter