com.holonplatform.vaadin.flow.components.builders

## Interface InputConfigurator<T,E extends ValueHolder.ValueChangeEvent<T>,C extends InputConfigurator<T,E,C>>

- Type Parameters:
    `T` - Value type
    `E` - Value change event type
    `C` - Concrete configurator type
  All Superinterfaces:
    ComponentConfigurator<C>, HasElementConfigurator<C>
  All Known Subinterfaces:
    BaseTemporalInputConfigurator<D,C>, BooleanInputBuilder, BooleanInputConfigurator<C>, DateInputBuilder, DateInputConfigurator<C>, DateTimeInputBuilder, DateTimeInputConfigurator<C>, FilterableSingleSelectConfigurator<T,ITEM,B>, FilterableSingleSelectConfigurator.DatastoreFilterableSingleSelectInputBuilder<T,ITEM>, FilterableSingleSelectConfigurator.DatastoreFilterableSingleSelectInputConfigurator<T,ITEM,C>, FilterableSingleSelectConfigurator.DatastorePropertyFilterableSingleSelectInputBuilder<T>, FilterableSingleSelectConfigurator.DatastorePropertyFilterableSingleSelectInputConfigurator<T,C>, FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder<T,ITEM>, FilterableSingleSelectConfigurator.FilterableSingleSelectInputConfigurator<T,ITEM,D,C>, FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder<T>, FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputConfigurator<T,D,C>, FilterableSingleSelectConfigurator.ValidatableDatastoreFilterableSingleSelectInputBuilder<T,ITEM>, FilterableSingleSelectConfigurator.ValidatableDatastorePropertyFilterableSingleSelectInputBuilder<T>, FilterableSingleSelectConfigurator.ValidatableFilterableSingleSelectInputBuilder<T,ITEM>, FilterableSingleSelectConfigurator.ValidatablePropertyFilterableSingleSelectInputBuilder<T>, HasValueInputBuilder<T,H,C>, InputAdapterBuilder<T,V,H,C,B>, InputBuilder<T,E,C,I,B,V>, InputConfigurator.BaseInputConfigurator<T>, InputConverterBuilder<T,V>, InputValueConfigurator<T,E,C>, LocalDateInputBuilder, LocalDateInputConfigurator<C>, LocalDateTimeInputBuilder, LocalDateTimeInputConfigurator<C>, LocalTimeInputBuilder, LocalTimeInputConfigurator<C>, MultiSelectableInputConfigurator<T,ITEM,C>, NumberInputBuilder<T>, NumberInputConfigurator<T,C>, OptionsMultiSelectConfigurator<T,ITEM,B>, OptionsMultiSelectConfigurator.DatastoreOptionsMultiSelectInputBuilder<T,ITEM>, OptionsMultiSelectConfigurator.DatastoreOptionsMultiSelectInputConfigurator<T,ITEM,C>, OptionsMultiSelectConfigurator.DatastorePropertyOptionsMultiSelectInputBuilder<T>, OptionsMultiSelectConfigurator.DatastorePropertyOptionsMultiSelectInputConfigurator<T,C>, OptionsMultiSelectConfigurator.OptionsMultiSelectInputBuilder<T,ITEM>, OptionsMultiSelectConfigurator.OptionsMultiSelectInputConfigurator<T,ITEM,D,C>, OptionsMultiSelectConfigurator.PropertyOptionsMultiSelectInputBuilder<T>, OptionsMultiSelectConfigurator.PropertyOptionsMultiSelectInputConfigurator<T,D,C>, OptionsMultiSelectConfigurator.ValidatableDatastoreOptionsMultiSelectInputBuilder<T,ITEM>, OptionsMultiSelectConfigurator.ValidatableDatastorePropertyOptionsMultiSelectInputBuilder<T>, OptionsMultiSelectConfigurator.ValidatableOptionsMultiSelectInputBuilder<T,ITEM>, OptionsMultiSelectConfigurator.ValidatablePropertyOptionsMultiSelectInputBuilder<T>, OptionsSingleSelectConfigurator<T,ITEM,B>, OptionsSingleSelectConfigurator.DatastoreOptionsSingleSelectInputBuilder<T,ITEM>, OptionsSingleSelectConfigurator.DatastoreOptionsSingleSelectInputConfigurator<T,ITEM,C>, OptionsSingleSelectConfigurator.DatastorePropertyOptionsSingleSelectInputBuilder<T>, OptionsSingleSelectConfigurator.DatastorePropertyOptionsSingleSelectInputConfigurator<T,C>, OptionsSingleSelectConfigurator.OptionsSingleSelectInputBuilder<T,ITEM>, OptionsSingleSelectConfigurator.OptionsSingleSelectInputConfigurator<T,ITEM,D,C>, OptionsSingleSelectConfigurator.PropertyOptionsSingleSelectInputBuilder<T>, OptionsSingleSelectConfigurator.PropertyOptionsSingleSelectInputConfigurator<T,D,C>, OptionsSingleSelectConfigurator.ValidatableDatastoreOptionsSingleSelectInputBuilder<T,ITEM>, OptionsSingleSelectConfigurator.ValidatableDatastorePropertyOptionsSingleSelectInputBuilder<T>, OptionsSingleSelectConfigurator.ValidatableOptionsSingleSelectInputBuilder<T,ITEM>, OptionsSingleSelectConfigurator.ValidatablePropertyOptionsSingleSelectInputBuilder<T>, PasswordInputBuilder, PasswordInputConfigurator<C>, PropertySelectInputConfigurator<T,S,C>, SelectableInputConfigurator<T,S,C>, SingleSelectableInputConfigurator<T,ITEM,C>, SingleSelectConfigurator<T,ITEM,B>, SingleSelectConfigurator.DatastorePropertySingleSelectInputBuilder<T>, SingleSelectConfigurator.DatastorePropertySingleSelectInputConfigurator<T,C>, SingleSelectConfigurator.DatastoreSingleSelectInputBuilder<T,ITEM>, SingleSelectConfigurator.DatastoreSingleSelectInputConfigurator<T,ITEM,C>, SingleSelectConfigurator.PropertySingleSelectInputBuilder<T>, SingleSelectConfigurator.PropertySingleSelectInputConfigurator<T,D,C>, SingleSelectConfigurator.SingleSelectInputBuilder<T,ITEM>, SingleSelectConfigurator.SingleSelectInputConfigurator<T,ITEM,D,C>, SingleSelectConfigurator.ValidatableDatastorePropertySingleSelectInputBuilder<T>, SingleSelectConfigurator.ValidatableDatastoreSingleSelectInputBuilder<T,ITEM>, SingleSelectConfigurator.ValidatablePropertySingleSelectInputBuilder<T>, SingleSelectConfigurator.ValidatableSingleSelectInputBuilder<T,ITEM>, StringAreaInputBuilder, StringAreaInputConfigurator<C>, StringInputBuilder, StringInputConfigurator<C>, ValidatableBooleanInputBuilder, ValidatableDateInputBuilder, ValidatableDateTimeInputBuilder, ValidatableLocalDateInputBuilder, ValidatableLocalDateTimeInputBuilder, ValidatableLocalTimeInputBuilder, ValidatableNumberInputBuilder<T>, ValidatablePasswordInputBuilder, ValidatableStringAreaInputBuilder, ValidatableStringInputBuilder

      public interface InputConfigurator<T,E extends ValueHolder.ValueChangeEvent<T>,C extends InputConfigurator<T,E,C>>
      extends ComponentConfigurator<C>

  Interface to configure an `Input`.
  Since:
    5.2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `InputConfigurator.BaseInputConfigurator<T>` Base `InputConfigurator`.

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

      `ComponentConfigurator.BaseComponentConfigurator`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default C` | `readOnly()` Set the input component as read-only.
    `C` | `readOnly(boolean readOnly)` Set whether the input component is read-only.
    `C` | `required()` Set the input as required, i.e. the user must fill in a value.
    `C` | `required(boolean required)` Set the input as required or not.
    `<A> C` | `withAdapter(Class<A> type, Function<Input<T>,A> adapter)` Register an adapter function to be used with the `Input.as(Class)` method, to provide a object instance of given `type`.
    `C` | `withReadonlyChangeListener(ReadonlyChangeListener listener)` Add a `ReadonlyChangeListener` to be notified when the input read-only state changes.
    `C` | `withValueChangeListener(ValueHolder.ValueChangeListener<T,E> listener)` Add a `ValueHolder.ValueChangeListener` to be notified when the input value changes.

    - ### 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

    - #### readOnly

          C readOnly(boolean readOnly)

      Set whether the input component is read-only.

      When the input component is read-only, the user can not change the value of the input.

      Parameters:
        `readOnly` - Whether to set the input as read-only
      Returns:
        this

    - #### readOnly

          default C readOnly()

      Set the input component as read-only. The user can not change the value of the input.
      Returns:
        this

    - #### withReadonlyChangeListener

          C withReadonlyChangeListener(ReadonlyChangeListener listener)

      Add a `ReadonlyChangeListener` to be notified when the input read-only state changes.
      Parameters:
        `listener` - The `ReadonlyChangeListener` to add (not null)
      Returns:
        this

    - #### withValueChangeListener

          C withValueChangeListener(ValueHolder.ValueChangeListener<T,E> listener)

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

    - #### withAdapter

          <A> C withAdapter(Class<A> type,
                            Function<Input<T>,A> adapter)

      Register an adapter function to be used with the `Input.as(Class)` method, to provide a object instance of given `type`.
      Type Parameters:
        `A` - Adapter type
      Parameters:
        `type` - The type to provide (not null)
        `adapter` - The function to use to provide the object instance of given type
      Returns:
        this

    - #### required

          C required(boolean required)

      Set the input as required or not. When the input is required the user must fill in a value.

      Depending on the actual input component implementation, setting the input as required may involve:

      - Showing a required indicator symbol, if supported. Normally a label must be configured to show the required indicator symbol.
      - Setting a `required` attribute in the `input` element at client side, if supported.
      Parameters:
        `required` - Whether the input is required
      Returns:
        this

    - #### required

          C required()

      Set the input as required, i.e. the user must fill in a value.

      Depending on the actual input component implementation, setting the input as required may involve:

      - Showing a required indicator symbol, if supported. Normally a label must be configured to show the required indicator symbol.
      - Setting a `required` attribute in the `input` element at client side, if supported.
      Returns:
        this

Copyright © 2019 The Holon Platform. All rights reserved.