Allow greater flexibility for template method createDataBinderFactory
Prior to this commit, the template method createDataBinderFactory would only allow ServletRequestDataBinderFactory as a return type. This commit updates the method signature and allows InitBinderDataBinderFactory, a superclass of the previous one. Then other implementations can override this method and return other InitBinderDataBinderFactory types. Issue: SPR-10920
This commit is contained in:
parent
8ae88c20d1
commit
5de5198005
|
@ -73,6 +73,7 @@ import org.springframework.web.method.HandlerMethod;
|
||||||
import org.springframework.web.method.HandlerMethodSelector;
|
import org.springframework.web.method.HandlerMethodSelector;
|
||||||
import org.springframework.web.method.annotation.ErrorsMethodArgumentResolver;
|
import org.springframework.web.method.annotation.ErrorsMethodArgumentResolver;
|
||||||
import org.springframework.web.method.annotation.ExpressionValueMethodArgumentResolver;
|
import org.springframework.web.method.annotation.ExpressionValueMethodArgumentResolver;
|
||||||
|
import org.springframework.web.method.annotation.InitBinderDataBinderFactory;
|
||||||
import org.springframework.web.method.annotation.MapMethodProcessor;
|
import org.springframework.web.method.annotation.MapMethodProcessor;
|
||||||
import org.springframework.web.method.annotation.ModelAttributeMethodProcessor;
|
import org.springframework.web.method.annotation.ModelAttributeMethodProcessor;
|
||||||
import org.springframework.web.method.annotation.ModelFactory;
|
import org.springframework.web.method.annotation.ModelFactory;
|
||||||
|
@ -826,14 +827,14 @@ public class RequestMappingHandlerAdapter extends AbstractHandlerMethodAdapter i
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Template method to create a new ServletRequestDataBinderFactory instance.
|
* Template method to create a new InitBinderDataBinderFactory instance.
|
||||||
* <p>The default implementation creates a ServletRequestDataBinderFactory.
|
* <p>The default implementation creates a ServletRequestDataBinderFactory.
|
||||||
* This can be overridden for custom ServletRequestDataBinder subclasses.
|
* This can be overridden for custom ServletRequestDataBinder subclasses.
|
||||||
* @param binderMethods {@code @InitBinder} methods
|
* @param binderMethods {@code @InitBinder} methods
|
||||||
* @return the ServletRequestDataBinderFactory instance to use
|
* @return the InitBinderDataBinderFactory instance to use
|
||||||
* @throws Exception in case of invalid state or arguments
|
* @throws Exception in case of invalid state or arguments
|
||||||
*/
|
*/
|
||||||
protected ServletRequestDataBinderFactory createDataBinderFactory(List<InvocableHandlerMethod> binderMethods)
|
protected InitBinderDataBinderFactory createDataBinderFactory(List<InvocableHandlerMethod> binderMethods)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
||||||
return new ServletRequestDataBinderFactory(binderMethods, getWebBindingInitializer());
|
return new ServletRequestDataBinderFactory(binderMethods, getWebBindingInitializer());
|
||||||
|
|
Loading…
Reference in New Issue