Package org.appng.api

Class 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 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 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.springframework.validation.DataBinder

        addCustomFormatter, addCustomFormatter, addCustomFormatter, addValidators, applyPropertyValues, bind, checkAllowedFields, checkRequiredFields, close, convertIfNecessary, 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, setIgnoreInvalidFields, setIgnoreUnknownFields, setMessageCodesResolver, setRequiredFields, setValidator, validate, validate
    • 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

      • 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