com.holonplatform.vaadin.flow.components.builders

## Interface InputConverterBuilder<T,V>

- Type Parameters:
    `T` - Presentation value type
    `V` - Model value type
  All Superinterfaces:
    ComponentConfigurator<InputConverterBuilder<T,V>>, HasElementConfigurator<InputConverterBuilder<T,V>>, InputConfigurator<T,ValueHolder.ValueChangeEvent<T>,InputConverterBuilder<T,V>>

      public interface InputConverterBuilder<T,V>
      extends InputConfigurator<T,ValueHolder.ValueChangeEvent<T>,InputConverterBuilder<T,V>>

  Input converter builder.
  Since:
    5.2.5

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.holonplatform.vaadin.flow.components.builders.InputConfigurator

      `InputConfigurator.BaseInputConfigurator<T>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.vaadin.flow.components.builders.ComponentConfigurator

      `ComponentConfigurator.BaseComponentConfigurator`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `Input<T>` | `build()` Build and returns the `Input` instance.
    `static <T,V> InputConverterBuilder<T,V>` | `create(Input<V> input, com.vaadin.flow.data.converter.Converter<V,T> converter)` Create a new `InputConverterBuilder`.
    `default InputConverterBuilder<T,V>` | `withAdapters(InputAdaptersContainer<T> adapters)` Add a set of adapters.
    `<A> InputConverterBuilder<T,V>` | `withAdapters(Map<Class<A>,Function<Input<T>,A>> adapters)` Add a set of adapters.
    `InputConverterBuilder<T,V>` | `withValueChangeListeners(Collection<ValueHolder.ValueChangeListener<T,ValueHolder.ValueChangeEvent<T>>> listeners)` Add a set of `ValueHolder.ValueChangeListener`s to be notified when the input value changes.

    - ### Methods inherited from interface com.holonplatform.vaadin.flow.components.builders.InputConfigurator

      `readOnly, readOnly, required, required, withAdapter, withValueChangeListener`

    - ### Methods inherited from interface com.holonplatform.vaadin.flow.components.builders.ComponentConfigurator

      `create, elementConfiguration, hidden, id, visible, withAttachListener, withDetachListener`

    - ### Methods inherited from interface com.holonplatform.vaadin.flow.components.builders.HasElementConfigurator

      `withEventListener, withEventListener, withThemeName`

- - ### Method Detail

    - #### withValueChangeListeners

          InputConverterBuilder<T,V> withValueChangeListeners(Collection<ValueHolder.ValueChangeListener<T,ValueHolder.ValueChangeEvent<T>>> listeners)

      Add a set of `ValueHolder.ValueChangeListener`s to be notified when the input value changes.
      Parameters:
        `listeners` - The `ValueHolder.ValueChangeListener`s to add (not null)
      Returns:
        this

    - #### withAdapters

          <A> InputConverterBuilder<T,V> withAdapters(Map<Class<A>,Function<Input<T>,A>> adapters)

      Add a set of adapters.
      Type Parameters:
        `A` - Adapter type
      Parameters:
        `adapters` - The adapters to add
      Returns:
        this

    - #### withAdapters

          default InputConverterBuilder<T,V> withAdapters(InputAdaptersContainer<T> adapters)

      Add a set of adapters.
      Parameters:
        `adapters` - The adapters to add
      Returns:
        this

    - #### build

          Input<T> build()

      Build and returns the `Input` instance.
      Returns:
        the `Input` instance

    - #### create

          static <T,V> InputConverterBuilder<T,V> create(Input<V> input,
                                                         com.vaadin.flow.data.converter.Converter<V,T> converter)

      Create a new `InputConverterBuilder`.
      Type Parameters:
        `T` - Presentation value type
        `V` - Model value type
      Parameters:
        `input` - The original input (not null)
        `converter` - The value converter (not null)
      Returns:
        A new `InputConverterBuilder`

Copyright © 2019 The Holon Platform. All rights reserved.