com.holonplatform.vaadin.flow.components.builders

## Interface InputGroupConfigurator<P,T,G extends BoundComponentGroup<P,Input<?>>,C extends InputGroupConfigurator<P,T,G,C>>

- Type Parameters:
    `P` - Property type
    `T` - Group item type
    `G` - Group type
    `C` - Concrete configurator type
  All Superinterfaces:
    ComponentGroupConfigurator<P,T,Input<?>,G,C>
  All Known Subinterfaces:
    BeanListingBuilder<T>, BeanListingBuilder.DatastoreBeanListingBuilder<T>, BeanListingConfigurator<T,C>, InputGroupConfigurator.BeanInputGroupConfigurator<T,G,C>, InputGroupConfigurator.PropertySetInputGroupConfigurator<G,C>, ItemListingBuilder<T,P,L,B>, ItemListingConfigurator<T,P,L,C>, PropertyInputFormBuilder<C>, PropertyInputFormConfigurator<C,B>, PropertyInputGroupBuilder, PropertyInputGroupConfigurator<C>, PropertyListingBuilder, PropertyListingBuilder.DatastorePropertyListingBuilder, PropertyListingBuilder.DatastorePropertyListingConfigurator, PropertyListingConfigurator<C>

      public interface InputGroupConfigurator<P,T,G extends BoundComponentGroup<P,Input<?>>,C extends InputGroupConfigurator<P,T,G,C>>
      extends ComponentGroupConfigurator<P,T,Input<?>,G,C>

  Input group configurator.
  Since:
    5.2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `InputGroupConfigurator.BeanInputGroupConfigurator<T,G extends BoundComponentGroup<String,Input<?>>,C extends InputGroupConfigurator.BeanInputGroupConfigurator<T,G,C>>` An `InputGroupConfigurator` bound to a bean `String` type property set.
    `static interface` | `InputGroupConfigurator.PropertySetInputGroupConfigurator<G extends BoundComponentGroup<com.holonplatform.core.property.Property<?>,Input<?>>,C extends InputGroupConfigurator.PropertySetInputGroupConfigurator<G,C>>` An `InputGroupConfigurator` bound to a `Property` set.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `C` | `enableRefreshOnValueChange(boolean enableRefreshOnValueChange)` Set whether to enable `VirtualProperty` input values refresh when any group input value changes.
    `C` | `groupValidationStatusHandler(GroupValidationStatusHandler<G,P,Input<?>> groupValidationStatusHandler)` Set the `GroupValidationStatusHandler` to use to track both the group element validation status changes and the group value validation status changes.
    `C` | `required(P property)` Set the given property as required.
    `C` | `required(P property, com.holonplatform.core.i18n.Localizable message)` Set the given property as required.
    `default C` | `required(P property, String message)` Set the given property as required.
    `default C` | `required(P property, String defaultMessage, String messageCode, Object... arguments)` Set the given property as required.
    `C` | `validationStatusHandler(P property, ValidationStatusHandler<Input<?>> validationStatusHandler)` Set the `ValidationStatusHandler` to use to track given `property` validation status changes.
    `C` | `validationStatusHandler(ValidationStatusHandler<G> validationStatusHandler)` Set the `ValidationStatusHandler` to use to track the group validation status changes.
    `default <L extends com.vaadin.flow.component.Component & com.vaadin.flow.component.HasText> C` | `validationStatusLabel(L statusLabel)` Use given label as status label to track group validation status changes.
    `C` | `withPostProcessor(BiConsumer<P,Input<?>> postProcessor)` Add a `BiConsumer` to allow further `Input` configuration before the input is actually bound to a property as editor.
    `C` | `withValidator(com.holonplatform.core.Validator<T> validator)` Adds a group value `Validator`.

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

      `usePropertyRendererRegistry, withValueChangeListener`

- - ### Method Detail

    - #### required

          C required(P property)

      Set the given property as required. If a property is required, the `Input` bound to the property will be setted as required, and its validation will fail when empty.
      Parameters:
        `property` - The property to set as required (not null)
      Returns:
        this

    - #### required

          C required(P property,
                     com.holonplatform.core.i18n.Localizable message)

      Set the given property as required. If a property is required, the `Input` bound to the property will be setted as required, and its validation will fail when empty.
      Parameters:
        `property` - The property to set as required (not null)
        `message` - The required validation error message to use
      Returns:
        this

    - #### required

          default C required(P property,
                             String message)

      Set the given property as required. If a property is required, the `Input` bound to the property will be setted as required, and its validation will fail when empty.
      Parameters:
        `property` - The property to set as required (not null)
        `message` - The required validation error message to use
      Returns:
        this

    - #### required

          default C required(P property,
                             String defaultMessage,
                             String messageCode,
                             Object... arguments)

      Set the given property as required. If a property is required, the `Input` bound to the property will be setted as required, and its validation will fail when empty.
      Parameters:
        `property` - The property to set as required (not null)
        `defaultMessage` - Default required validation error message
        `messageCode` - Required validation error message translation key
        `arguments` - Optional translation arguments
      Returns:
        this

    - #### withPostProcessor

          C withPostProcessor(BiConsumer<P,Input<?>> postProcessor)

      Add a `BiConsumer` to allow further `Input` configuration before the input is actually bound to a property as editor.
      Parameters:
        `postProcessor` - the post processor to add (not null)
      Returns:
        this

    - #### withValidator

          C withValidator(com.holonplatform.core.Validator<T> validator)

      Adds a group value `Validator`.
      Parameters:
        `validator` - The group validator to add (not null)
      Returns:
        this

    - #### validationStatusHandler

          C validationStatusHandler(ValidationStatusHandler<G> validationStatusHandler)

      Set the `ValidationStatusHandler` to use to track the group validation status changes.

      By default the `ValidationStatusHandler.dialog()` is used.

      Parameters:
        `validationStatusHandler` - the group `ValidationStatusHandler` to set
      Returns:
        this

    - #### validationStatusLabel

          default <L extends com.vaadin.flow.component.Component & com.vaadin.flow.component.HasText> C validationStatusLabel(L statusLabel)

      Use given label as status label to track group validation status changes.
      Type Parameters:
        `L` - Label type
      Parameters:
        `statusLabel` - the status label to set (not null)
      Returns:
        this

    - #### groupValidationStatusHandler

          C groupValidationStatusHandler(GroupValidationStatusHandler<G,P,Input<?>> groupValidationStatusHandler)

      Set the `GroupValidationStatusHandler` to use to track both the group element validation status changes and the group value validation status changes.

      When a `GroupValidationStatusHandler` is configured, any group element specific `ValidationStatusHandler` and group value `ValidationStatusHandler` will be ignored.

      Parameters:
        `groupValidationStatusHandler` - The `GroupValidationStatusHandler` to set (not null)
      Returns:
        this

    - #### validationStatusHandler

          C validationStatusHandler(P property,
                                    ValidationStatusHandler<Input<?>> validationStatusHandler)

      Set the `ValidationStatusHandler` to use to track given `property` validation status changes.
      Parameters:
        `property` - The property for which to set the validation status handler (not null)
        `validationStatusHandler` - the `ValidationStatusHandler` to associate to given `property` (not null)
      Returns:
        this

    - #### enableRefreshOnValueChange

          C enableRefreshOnValueChange(boolean enableRefreshOnValueChange)

      Set whether to enable `VirtualProperty` input values refresh when any group input value changes.

      Default is `false`.

      Parameters:
        `enableRefreshOnValueChange` - Whether to enable `VirtualProperty` input values refresh when any group input value changes
      Returns:
        this

Copyright © 2020 The Holon Platform. All rights reserved.