1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.bremersee.comparator.spring.converter;
18
19 import java.util.Optional;
20 import org.bremersee.comparator.model.SortOrderItem;
21 import org.bremersee.comparator.model.SortOrderTextSeparators;
22 import org.springframework.core.convert.converter.Converter;
23 import org.springframework.lang.NonNull;
24
25
26
27
28
29
30 @SuppressWarnings("ClassCanBeRecord")
31 public class SortOrderItemConverter implements Converter<String, SortOrderItem> {
32
33 private final SortOrderTextSeparators separators;
34
35
36
37
38 public SortOrderItemConverter() {
39 this(SortOrderTextSeparators.defaults());
40 }
41
42
43
44
45
46
47 public SortOrderItemConverter(SortOrderTextSeparators separators) {
48 this.separators = Optional.ofNullable(separators)
49 .orElseGet(SortOrderTextSeparators::defaults);
50 }
51
52 @Override
53 public SortOrderItem convert(@NonNull String source) {
54 return SortOrderItem.fromSortOrderText(source, separators);
55 }
56 }