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.annotation.ErrorsMethodArgumentResolver;
|
||||
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.ModelAttributeMethodProcessor;
|
||||
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.
|
||||
* This can be overridden for custom ServletRequestDataBinder subclasses.
|
||||
* @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
|
||||
*/
|
||||
protected ServletRequestDataBinderFactory createDataBinderFactory(List<InvocableHandlerMethod> binderMethods)
|
||||
protected InitBinderDataBinderFactory createDataBinderFactory(List<InvocableHandlerMethod> binderMethods)
|
||||
throws Exception {
|
||||
|
||||
return new ServletRequestDataBinderFactory(binderMethods, getWebBindingInitializer());
|
||||
|
|
Loading…
Reference in New Issue