org.appng.api

## Class FormDataBinder<T>

- java.lang.Object
- - org.springframework.validation.DataBinder
  - - org.appng.api.RequestDataBinder<T>
    - - org.appng.api.FormDataBinder<T>

- Type Parameters:
    `T` - The type to bind the data to.
  All Implemented Interfaces:
    org.springframework.beans.PropertyEditorRegistry, org.springframework.beans.TypeConverter

      public class FormDataBinder<T>
      extends RequestDataBinder<T>

  A `DataBinder` that uses a `Form` to bind its values to the target object. Additional parameters that are not part of the form can also be used using `setBindAdditionalParams(boolean)`. Also, some additional properties can be used by calling `setExternalParams(Map)`.
  This class is especially useful inside a `FormProcessProvider`, as shown below:

       public void onFormSuccess(Environment environment, Site site, Application application, Writer writer, Form form,
                      Map properties) {
              FormDataBinder formDataBinder = new FormDataBinder(new Person(), form);
              formDataBinder.setExternalParams(properties);
              Person person = formDataBinder.bind();
              // proceed with person
       }

  Also note the possibility to set a custom `ConversionService` for the binder.
  Author:
    Matthias Müller

- - ### Field Summary

    - ### Fields inherited from class org.springframework.validation.DataBinder

      `DEFAULT_AUTO_GROW_COLLECTION_LIMIT, DEFAULT_OBJECT_NAME, logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FormDataBinder(T target, Form form)` Constructs a new `FormDataBinder` using a `DefaultConversionService`
    `FormDataBinder(T target, Form form, org.springframework.core.convert.ConversionService conversionService)` * Constructs a new `FormDataBinder` using the given `ConversionService`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `T` | `bind()` Performs the actual binding.
    `Map<String,Object>` | `getExternalParams()`
    `boolean` | `isBindAdditionalParams()`
    `void` | `setBindAdditionalParams(boolean bindAdditionalParams)` Whether to use all request parameters for binding, including those that are not defined through a `FormElement` of the given `Form`
    `void` | `setExternalParams(Map<String,Object> externalParams)` Sets some additional external parameters used for binding

    - ### Methods inherited from class org.appng.api.RequestDataBinder

      `addValue`

    - ### Methods inherited from class org.springframework.validation.DataBinder

      `addCustomFormatter, addCustomFormatter, addCustomFormatter, addValidators, applyPropertyValues, bind, checkAllowedFields, checkRequiredFields, close, convertIfNecessary, convertIfNecessary, convertIfNecessary, createBeanPropertyBindingResult, createDirectFieldBindingResult, doBind, findCustomEditor, getAllowedFields, getAutoGrowCollectionLimit, getBindingErrorProcessor, getBindingResult, getConversionService, getDisallowedFields, getInternalBindingResult, getObjectName, getPropertyAccessor, getPropertyEditorRegistry, getRequiredFields, getSimpleTypeConverter, getTarget, getTypeConverter, getValidator, getValidators, initBeanPropertyAccess, initDirectFieldAccess, isAllowed, isAutoGrowNestedPaths, isIgnoreInvalidFields, isIgnoreUnknownFields, registerCustomEditor, registerCustomEditor, replaceValidators, setAllowedFields, setAutoGrowCollectionLimit, setAutoGrowNestedPaths, setBindingErrorProcessor, setConversionService, setDisallowedFields, setExtractOldValueForEditor, setIgnoreInvalidFields, setIgnoreUnknownFields, setMessageCodesResolver, setRequiredFields, setValidator, validate, validate`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FormDataBinder

          public FormDataBinder(T target,
                                Form form)

      Constructs a new `FormDataBinder` using a `DefaultConversionService`
      Parameters:
        `target` - the target object
        `form` - the `Form`

    - #### FormDataBinder

          public FormDataBinder(T target,
                                Form form,
                                org.springframework.core.convert.ConversionService conversionService)

      * Constructs a new `FormDataBinder` using the given `ConversionService`
      Parameters:
        `target` - the target object
        `form` - the `Form`
        `conversionService` - the `ConversionService` to use

  - ### Method Detail

    - #### bind

          public T bind()

      Performs the actual binding. Therefore, all `FormElement`s are retrieved from the `Form`. Also, additional and external parameters might be used.
      Overrides:
        `bind` in class `RequestDataBinder<T>`
      Returns:
        the object where the binding has been applied to
      See Also:
        `setBindAdditionalParams(boolean)`, `setExternalParams(Map)`

    - #### isBindAdditionalParams

          public boolean isBindAdditionalParams()

    - #### setBindAdditionalParams

          public void setBindAdditionalParams(boolean bindAdditionalParams)

      Whether to use all request parameters for binding, including those that are not defined through a `FormElement` of the given `Form`
      Parameters:
        `bindAdditionalParams` - whether to use all request parameters for binding

    - #### setExternalParams

          public void setExternalParams(Map<String,Object> externalParams)

      Sets some additional external parameters used for binding
      Parameters:
        `externalParams` - the external parameters

    - #### getExternalParams

          public Map<String,Object> getExternalParams()

Copyright © 2011–2023 aiticon GmbH. All rights reserved.