## org.springframework.web.method.annotation
Class InitBinderDataBinderFactory

    java.lang.Object
      org.springframework.web.bind.support.DefaultDataBinderFactory
          org.springframework.web.method.annotation.InitBinderDataBinderFactory

All Implemented Interfaces:
  WebDataBinderFactory

Direct Known Subclasses:
  ServletRequestDataBinderFactory

    public class InitBinderDataBinderFactory

extends DefaultDataBinderFactory

Adds initialization to a WebDataBinder via `@InitBinder` methods.

Since:
  3.1
Author:
  Rossen Stoyanchev

Constructor Summary
`InitBinderDataBinderFactory(List<InvocableHandlerMethod> binderMethods, WebBindingInitializer initializer)` Create a new instance.

Method Summary
`void` `initBinder(WebDataBinder binder, NativeWebRequest request)` Initialize a WebDataBinder with `@InitBinder` methods.
`protected boolean` `isBinderMethodApplicable(HandlerMethod initBinderMethod, WebDataBinder binder)` Return `true` if the given `@InitBinder` method should be invoked to initialize the given WebDataBinder.

Methods inherited from class org.springframework.web.bind.support.DefaultDataBinderFactory
`createBinder, createBinderInstance`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### InitBinderDataBinderFactory

    public InitBinderDataBinderFactory(List<InvocableHandlerMethod> binderMethods,
                                       WebBindingInitializer initializer)

  Create a new instance.

  Parameters:
    `binderMethods` - `@InitBinder` methods, or `null`
    `initializer` - for global data binder intialization

Method Detail

### initBinder

    public void initBinder(WebDataBinder binder,
                           NativeWebRequest request)
                    throws Exception

  Initialize a WebDataBinder with `@InitBinder` methods. If the `@InitBinder` annotation specifies attributes names, it is invoked only if the names include the target object name.

  Overrides:
    `initBinder` in class `DefaultDataBinderFactory`
  Parameters:
    `binder` - the data binder instance to customize
    `request` - the current request
  Throws:
    `Exception` - if one of the invoked @`InitBinder` methods fail.

### isBinderMethodApplicable

    protected boolean isBinderMethodApplicable(HandlerMethod initBinderMethod,
                                               WebDataBinder binder)

  Return `true` if the given `@InitBinder` method should be invoked to initialize the given WebDataBinder.

  The default implementation checks if target object name is included in the attribute names specified in the `@InitBinder` annotation.