com.holonplatform.vaadin.flow.components.builders

## Interface InputAdapterBuilder<T,V,H extends com.vaadin.flow.component.HasValue<?,V>,C extends com.vaadin.flow.component.Component,B extends InputAdapterBuilder<T,V,H,C,B>>

- Type Parameters:
    `T` - Input value type
    `V` - `HasValue` value type
    `H` - Concrete `HasValue` type
    `C` - Concrete `Component` type
    `B` - Concrete builder type
  All Superinterfaces:
    ComponentConfigurator<B>, HasElementConfigurator<B>, InputBuilder<T,ValueHolder.ValueChangeEvent<T>,Input<T>,ValidatableInput<T>,B,ValidatableInputBuilder<T>>, InputConfigurator<T,ValueHolder.ValueChangeEvent<T>,B>
  All Known Subinterfaces:
    HasValueInputBuilder<T,H,C>

      public interface InputAdapterBuilder<T,V,H extends com.vaadin.flow.component.HasValue<?,V>,C extends com.vaadin.flow.component.Component,B extends InputAdapterBuilder<T,V,H,C,B>>
      extends InputBuilder<T,ValueHolder.ValueChangeEvent<T>,Input<T>,ValidatableInput<T>,B,ValidatableInputBuilder<T>>

  Base builder to create `Input` components from a `HasValue` component.
  Since:
    5.2.0

- - ### 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 Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `B` | `emptyValueSupplier(Function<H,T> emptyValueSupplier)` Set the empty value supplier.
    `B` | `focusOperation(Consumer<H> focusOperation)` Set the `focus` operation.
    `B` | `hasEnabledSupplier(Function<H,com.vaadin.flow.component.HasEnabled> hasEnabledSupplier)` Set the `HasEnabled` supplier.
    `B` | `hasSizeSupplier(Function<H,com.vaadin.flow.component.HasSize> hasSizeSupplier)` Set the `HasSize` supplier.
    `B` | `hasStyleSupplier(Function<H,com.vaadin.flow.component.HasStyle> hasStyleSupplier)` Set the `HasStyle` supplier.
    `B` | `hasValidationSupplier(Function<H,com.vaadin.flow.component.HasValidation> hasValidationSupplier)` Set the `HasValidation` supplier.
    `B` | `hasValueChangeModeSupplier(Function<H,com.vaadin.flow.data.value.HasValueChangeMode> hasValueChangeModeSupplier)` Set the `HasValueChangeMode` supplier.
    `B` | `invalidChangeEventNotifierSupplier(Function<H,InvalidChangeEventNotifier> invalidChangeEventNotifierSupplier)` Set the `InvalidChangeEventNotifier` supplier
    `B` | `isEmptySupplier(Function<H,Boolean> isEmptySupplier)` Set the is empty value supplier.
    `default B` | `labelPropertyHandler(BiFunction<H,C,String> getter, com.holonplatform.core.operation.TriConsumer<H,C,String> setter)` Set the `label` property handler using given callback functions.
    `B` | `labelPropertyHandler(Input.PropertyHandler<String,V,H,C> labelPropertyHandler)` Provide the `Input.PropertyHandler` to use to get and set the label property value.
    `default B` | `placeholderPropertyHandler(BiFunction<H,C,String> getter, com.holonplatform.core.operation.TriConsumer<H,C,String> setter)` Set the `placeholder` property handler using given callback functions.
    `B` | `placeholderPropertyHandler(Input.PropertyHandler<String,V,H,C> placeholderPropertyHandler)` Provide the `Input.PropertyHandler` to use to get and set the placeholder property value.
    `default B` | `requiredPropertyHandler(BiFunction<H,C,Boolean> getter, com.holonplatform.core.operation.TriConsumer<H,C,Boolean> setter)` Set the `required` property handler using given callback functions.
    `B` | `requiredPropertyHandler(Input.PropertyHandler<Boolean,V,H,C> requiredPropertyHandler)` Provide the `Input.PropertyHandler` to use to get and set the required property value.
    `default B` | `titlePropertyHandler(BiFunction<H,C,String> getter, com.holonplatform.core.operation.TriConsumer<H,C,String> setter)` Set the `title` property handler using given callback functions.
    `B` | `titlePropertyHandler(Input.PropertyHandler<String,V,H,C> titlePropertyHandler)` Provide the `Input.PropertyHandler` to use to get and set the title property value.
    `B` | `valueSupplier(Function<H,T> valueSupplier)` Set the Input value supplier.
    `default B` | `withAdapters(InputAdaptersContainer<T> adapters)` Add a set of adapters.
    `<A> B` | `withAdapters(Map<Class<A>,Function<Input<T>,A>> adapters)` Add a set of adapters.
    `B` | `withReadonlyChangeListeners(Collection<ReadonlyChangeListener> listeners)` Add a set of `ReadonlyChangeListener`s to be notified when the input read-only state changes.
    `B` | `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.InputBuilder

      `build, validatable`

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

      `readOnly, readOnly, required, required, withAdapter, withReadonlyChangeListener, 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

    - #### emptyValueSupplier

          B emptyValueSupplier(Function<H,T> emptyValueSupplier)

      Set the empty value supplier.
      Parameters:
        `emptyValueSupplier` - the empty value supplier to set
      Returns:
        this

    - #### isEmptySupplier

          B isEmptySupplier(Function<H,Boolean> isEmptySupplier)

      Set the is empty value supplier.
      Parameters:
        `isEmptySupplier` - the is empty value supplier to set
      Returns:
        this

    - #### valueSupplier

          B valueSupplier(Function<H,T> valueSupplier)

      Set the Input value supplier.
      Parameters:
        `valueSupplier` - the Input value supplier to set
      Returns:
        this

    - #### focusOperation

          B focusOperation(Consumer<H> focusOperation)

      Set the `focus` operation.
      Parameters:
        `focusOperation` - the operation to set
      Returns:
        this

    - #### hasSizeSupplier

          B hasSizeSupplier(Function<H,com.vaadin.flow.component.HasSize> hasSizeSupplier)

      Set the `HasSize` supplier.
      Parameters:
        `hasSizeSupplier` - the supplier to set
      Returns:
        this

    - #### hasStyleSupplier

          B hasStyleSupplier(Function<H,com.vaadin.flow.component.HasStyle> hasStyleSupplier)

      Set the `HasStyle` supplier.
      Parameters:
        `hasStyleSupplier` - the supplier to set
      Returns:
        this

    - #### hasEnabledSupplier

          B hasEnabledSupplier(Function<H,com.vaadin.flow.component.HasEnabled> hasEnabledSupplier)

      Set the `HasEnabled` supplier.
      Parameters:
        `hasEnabledSupplier` - the supplier to set
      Returns:
        this

    - #### hasValueChangeModeSupplier

          B hasValueChangeModeSupplier(Function<H,com.vaadin.flow.data.value.HasValueChangeMode> hasValueChangeModeSupplier)

      Set the `HasValueChangeMode` supplier.
      Parameters:
        `hasValueChangeModeSupplier` - the supplier to set
      Returns:
        this

    - #### hasValidationSupplier

          B hasValidationSupplier(Function<H,com.vaadin.flow.component.HasValidation> hasValidationSupplier)

      Set the `HasValidation` supplier.
      Parameters:
        `hasValidationSupplier` - the supplier to set
      Returns:
        this

    - #### invalidChangeEventNotifierSupplier

          B invalidChangeEventNotifierSupplier(Function<H,InvalidChangeEventNotifier> invalidChangeEventNotifierSupplier)

      Set the `InvalidChangeEventNotifier` supplier
      Parameters:
        `invalidChangeEventNotifierSupplier` - the supplier to set
      Returns:
        this

    - #### requiredPropertyHandler

          B requiredPropertyHandler(Input.PropertyHandler<Boolean,V,H,C> requiredPropertyHandler)

      Provide the `Input.PropertyHandler` to use to get and set the required property value.

      This handler will be used for the `Input.isRequired()` and `Input.setRequired(boolean)` methods implementation.

      Parameters:
        `requiredPropertyHandler` - The `Input.PropertyHandler` to use to get and set the required property value
      Returns:
        this

    - #### requiredPropertyHandler

          default B requiredPropertyHandler(BiFunction<H,C,Boolean> getter,
                                            com.holonplatform.core.operation.TriConsumer<H,C,Boolean> setter)

      Set the `required` property handler using given callback functions.

      This handler will be used for the `Input.isRequired()` and `Input.setRequired(boolean)` methods implementation.

      Parameters:
        `getter` - The `Supplier` to use to get the `required` property value (not null)
        `setter` - The `Consumer` to use to set the `required` property value (not null)
      Returns:
        this

    - #### labelPropertyHandler

          B labelPropertyHandler(Input.PropertyHandler<String,V,H,C> labelPropertyHandler)

      Provide the `Input.PropertyHandler` to use to get and set the label property value.

      This handler will be used to provide the `HasLabel` implementation returned by the `HasComponent.hasLabel()` method.

      Parameters:
        `labelPropertyHandler` - The `Input.PropertyHandler` to use to get and set the label property value
      Returns:
        this

    - #### labelPropertyHandler

          default B labelPropertyHandler(BiFunction<H,C,String> getter,
                                         com.holonplatform.core.operation.TriConsumer<H,C,String> setter)

      Set the `label` property handler using given callback functions.

      This handler will be used to provide the `HasLabel` implementation returned by the `HasComponent.hasLabel()` method.

      Parameters:
        `getter` - The `Supplier` to use to get the `label` property value (not null)
        `setter` - The `Consumer` to use to set the `label` property value (not null)
      Returns:
        this

    - #### titlePropertyHandler

          B titlePropertyHandler(Input.PropertyHandler<String,V,H,C> titlePropertyHandler)

      Provide the `Input.PropertyHandler` to use to get and set the title property value.

      This handler will be used to provide the `HasTitle` implementation returned by the `Input.hasTitle()` method.

      Parameters:
        `titlePropertyHandler` - The `Input.PropertyHandler` to use to get and set the title property value
      Returns:
        this

    - #### titlePropertyHandler

          default B titlePropertyHandler(BiFunction<H,C,String> getter,
                                         com.holonplatform.core.operation.TriConsumer<H,C,String> setter)

      Set the `title` property handler using given callback functions.

      This handler will be used to provide the `HasTitle` implementation returned by the `Input.hasTitle()` method.

      Parameters:
        `getter` - The `Supplier` to use to get the `title` property value (not null)
        `setter` - The `Consumer` to use to set the `title` property value (not null)
      Returns:
        this

    - #### placeholderPropertyHandler

          B placeholderPropertyHandler(Input.PropertyHandler<String,V,H,C> placeholderPropertyHandler)

      Provide the `Input.PropertyHandler` to use to get and set the placeholder property value.

      This handler will be used to provide the `HasPlaceholder` implementation returned by the `Input.hasPlaceholder()` method.

      Parameters:
        `placeholderPropertyHandler` - The `Input.PropertyHandler` to use to get and set the placeholder property value
      Returns:
        this

    - #### placeholderPropertyHandler

          default B placeholderPropertyHandler(BiFunction<H,C,String> getter,
                                               com.holonplatform.core.operation.TriConsumer<H,C,String> setter)

      Set the `placeholder` property handler using given callback functions.

      This handler will be used to provide the `HasPlaceholder` implementation returned by the `Input.hasPlaceholder()` method.

      Parameters:
        `getter` - The `Supplier` to use to get the `placeholder` property value (not null)
        `setter` - The `Consumer` to use to set the `placeholder` property value (not null)
      Returns:
        this

    - #### withValueChangeListeners

          B 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

    - #### withReadonlyChangeListeners

          B withReadonlyChangeListeners(Collection<ReadonlyChangeListener> listeners)

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

    - #### withAdapters

          <A> B 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 B withAdapters(InputAdaptersContainer<T> adapters)

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

Copyright © 2019 The Holon Platform. All rights reserved.