StringToPeriodConverter Class — spring-boot Architecture
Architecture documentation for the StringToPeriodConverter class in StringToPeriodConverter.java from the spring-boot codebase.
Entity Profile
Source Code
core/spring-boot/src/main/java/org/springframework/boot/convert/StringToPeriodConverter.java lines 40–70
final class StringToPeriodConverter implements GenericConverter {
@Override
public Set<GenericConverter.ConvertiblePair> getConvertibleTypes() {
return Collections.singleton(new GenericConverter.ConvertiblePair(String.class, Period.class));
}
@Override
public @Nullable Object convert(@Nullable Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {
if (ObjectUtils.isEmpty(source)) {
return null;
}
return convert(source.toString(), getStyle(targetType), getPeriodUnit(targetType));
}
private @Nullable PeriodStyle getStyle(TypeDescriptor targetType) {
PeriodFormat annotation = targetType.getAnnotation(PeriodFormat.class);
return (annotation != null) ? annotation.value() : null;
}
private @Nullable ChronoUnit getPeriodUnit(TypeDescriptor targetType) {
PeriodUnit annotation = targetType.getAnnotation(PeriodUnit.class);
return (annotation != null) ? annotation.value() : null;
}
private Period convert(String source, @Nullable PeriodStyle style, @Nullable ChronoUnit unit) {
style = (style != null) ? style : PeriodStyle.detect(source);
return style.parse(source, unit);
}
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free