|
38 | 38 | */
|
39 | 39 | public class BinderConversionService implements ConversionService {
|
40 | 40 |
|
41 |
| - private final ConversionService conversionService; |
| 41 | + private static final ConversionService additionalConversionService = createAdditionalConversionService(); |
| 42 | + |
| 43 | + private static final ConversionService defaultConversionService = new DefaultFormattingConversionService(); |
42 | 44 |
|
43 |
| - private final ConversionService additionalConversionService; |
| 45 | + private final ConversionService conversionService; |
44 | 46 |
|
45 | 47 | /**
|
46 | 48 | * Create a new {@link BinderConversionService} instance.
|
47 | 49 | * @param conversionService and option root conversion service
|
48 | 50 | */
|
49 | 51 | public BinderConversionService(ConversionService conversionService) {
|
50 | 52 | this.conversionService = (conversionService != null ? conversionService
|
51 |
| - : new DefaultFormattingConversionService()); |
52 |
| - this.additionalConversionService = createAdditionalConversionService(); |
| 53 | + : defaultConversionService); |
53 | 54 | }
|
54 | 55 |
|
55 | 56 | @Override
|
56 | 57 | public boolean canConvert(Class<?> sourceType, Class<?> targetType) {
|
57 | 58 | return (this.conversionService != null
|
58 | 59 | && this.conversionService.canConvert(sourceType, targetType))
|
59 |
| - || this.additionalConversionService.canConvert(sourceType, targetType); |
| 60 | + || additionalConversionService.canConvert(sourceType, targetType); |
60 | 61 | }
|
61 | 62 |
|
62 | 63 | @Override
|
63 | 64 | public boolean canConvert(TypeDescriptor sourceType, TypeDescriptor targetType) {
|
64 | 65 | return (this.conversionService != null
|
65 | 66 | && this.conversionService.canConvert(sourceType, targetType))
|
66 |
| - || this.additionalConversionService.canConvert(sourceType, targetType); |
| 67 | + || additionalConversionService.canConvert(sourceType, targetType); |
67 | 68 | }
|
68 | 69 |
|
69 | 70 | @Override
|
@@ -92,7 +93,7 @@ private <T> T callConversionService(Function<ConversionService, T> call) {
|
92 | 93 | private <T> T callAdditionalConversionService(Function<ConversionService, T> call,
|
93 | 94 | RuntimeException cause) {
|
94 | 95 | try {
|
95 |
| - return call.apply(this.additionalConversionService); |
| 96 | + return call.apply(additionalConversionService); |
96 | 97 | }
|
97 | 98 | catch (ConverterNotFoundException ex) {
|
98 | 99 | throw (cause != null ? cause : ex);
|
|
0 commit comments