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 lombok.Getter;
21 import org.bremersee.comparator.model.SortOrder;
22 import org.bremersee.comparator.model.SortOrderTextSeparators;
23 import org.springframework.core.convert.converter.Converter;
24 import org.springframework.lang.NonNull;
25
26
27
28
29
30
31 @SuppressWarnings("ClassCanBeRecord")
32 public class SortOrderConverter implements Converter<String, SortOrder> {
33
34 @Getter
35 private final SortOrderTextSeparators separators;
36
37
38
39
40 public SortOrderConverter() {
41 this(SortOrderTextSeparators.defaults());
42 }
43
44
45
46
47
48
49 public SortOrderConverter(SortOrderTextSeparators separators) {
50 this.separators = Optional.ofNullable(separators)
51 .orElseGet(SortOrderTextSeparators::defaults);
52 }
53
54 @Override
55 public SortOrder convert(@NonNull String source) {
56 return SortOrder.fromSortOrderText(source, separators);
57 }
58
59 }