Add API to register collection converters
Previously, the only way to add the collection converters to a registry was to add *all* default converters. A new "addCollectionConverters" public method is now available to only register them. Issue: SPR-13618
This commit is contained in:
parent
91b3caf238
commit
0579e61a65
|
|
@ -88,6 +88,41 @@ public class DefaultConversionService extends GenericConversionService {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add collection converters.
|
||||
* @param converterRegistry the registry of converters to add to (must also be castable to ConversionService,
|
||||
* e.g. being a {@link ConfigurableConversionService})
|
||||
* @throws ClassCastException if the given ConverterRegistry could not be cast to a ConversionService
|
||||
* @since 4.2.3
|
||||
*/
|
||||
public static void addCollectionConverters(ConverterRegistry converterRegistry) {
|
||||
ConversionService conversionService = (ConversionService) converterRegistry;
|
||||
|
||||
converterRegistry.addConverter(new ArrayToCollectionConverter(conversionService));
|
||||
converterRegistry.addConverter(new CollectionToArrayConverter(conversionService));
|
||||
|
||||
converterRegistry.addConverter(new ArrayToArrayConverter(conversionService));
|
||||
converterRegistry.addConverter(new CollectionToCollectionConverter(conversionService));
|
||||
converterRegistry.addConverter(new MapToMapConverter(conversionService));
|
||||
|
||||
converterRegistry.addConverter(new ArrayToStringConverter(conversionService));
|
||||
converterRegistry.addConverter(new StringToArrayConverter(conversionService));
|
||||
|
||||
converterRegistry.addConverter(new ArrayToObjectConverter(conversionService));
|
||||
converterRegistry.addConverter(new ObjectToArrayConverter(conversionService));
|
||||
|
||||
converterRegistry.addConverter(new CollectionToStringConverter(conversionService));
|
||||
converterRegistry.addConverter(new StringToCollectionConverter(conversionService));
|
||||
|
||||
converterRegistry.addConverter(new CollectionToObjectConverter(conversionService));
|
||||
converterRegistry.addConverter(new ObjectToCollectionConverter(conversionService));
|
||||
|
||||
if (streamAvailable) {
|
||||
converterRegistry.addConverter(new StreamConverter(conversionService));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// internal helpers
|
||||
|
||||
private static void addScalarConverters(ConverterRegistry converterRegistry) {
|
||||
|
|
@ -125,33 +160,6 @@ public class DefaultConversionService extends GenericConversionService {
|
|||
converterRegistry.addConverter(UUID.class, String.class, new ObjectToStringConverter());
|
||||
}
|
||||
|
||||
private static void addCollectionConverters(ConverterRegistry converterRegistry) {
|
||||
ConversionService conversionService = (ConversionService) converterRegistry;
|
||||
|
||||
converterRegistry.addConverter(new ArrayToCollectionConverter(conversionService));
|
||||
converterRegistry.addConverter(new CollectionToArrayConverter(conversionService));
|
||||
|
||||
converterRegistry.addConverter(new ArrayToArrayConverter(conversionService));
|
||||
converterRegistry.addConverter(new CollectionToCollectionConverter(conversionService));
|
||||
converterRegistry.addConverter(new MapToMapConverter(conversionService));
|
||||
|
||||
converterRegistry.addConverter(new ArrayToStringConverter(conversionService));
|
||||
converterRegistry.addConverter(new StringToArrayConverter(conversionService));
|
||||
|
||||
converterRegistry.addConverter(new ArrayToObjectConverter(conversionService));
|
||||
converterRegistry.addConverter(new ObjectToArrayConverter(conversionService));
|
||||
|
||||
converterRegistry.addConverter(new CollectionToStringConverter(conversionService));
|
||||
converterRegistry.addConverter(new StringToCollectionConverter(conversionService));
|
||||
|
||||
converterRegistry.addConverter(new CollectionToObjectConverter(conversionService));
|
||||
converterRegistry.addConverter(new ObjectToCollectionConverter(conversionService));
|
||||
|
||||
if (streamAvailable) {
|
||||
converterRegistry.addConverter(new StreamConverter(conversionService));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Inner class to avoid a hard-coded dependency on Java 8's {@code java.time} package.
|
||||
|
|
|
|||
Loading…
Reference in New Issue