com.holonplatform.vaadin.flow.components.builders

## Interface ComponentConfigurator<C extends ComponentConfigurator<C>>

- Type Parameters:
    `C` - Concrete configurator type
  All Superinterfaces:
    HasElementConfigurator<C>
  All Known Subinterfaces:
    BaseTemporalInputConfigurator<D,C>, BeanListingBuilder<T>, BeanListingBuilder.DatastoreBeanListingBuilder<T>, BeanListingConfigurator<T,C>, BooleanInputBuilder, BooleanInputConfigurator<C>, ButtonBuilder, ButtonConfigurator<C>, ButtonConfigurator.BaseButtonConfigurator, ComponentBuilder<C,B>, ComponentConfigurator.BaseComponentConfigurator, ContextMenuBuilder, ContextMenuConfigurator<L,M,I,S,C>, DateInputBuilder, DateInputConfigurator<C>, DateTimeInputBuilder, DateTimeInputConfigurator<C>, DialogBuilder<B>, DialogBuilder.ConfirmDialogBuilder, DialogBuilder.MessageDialogBuilder, DialogBuilder.QuestionDialogBuilder, DialogConfigurator<C>, DialogConfigurator.ClosableDialogConfigurator<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>, FormLayoutBuilder, FormLayoutConfigurator<C>, FormLayoutConfigurator.BaseFormLayoutConfigurator, HasValueInputBuilder<T,H,C>, HorizontalLayoutBuilder, HtmlComponentConfigurator<C>, InputAdapterBuilder<T,V,H,C,B>, InputBuilder<T,E,C,I,B,V>, InputConfigurator<T,E,C>, InputConfigurator.BaseInputConfigurator<T>, InputConverterBuilder<T,V>, InputValueConfigurator<T,E,C>, ItemListingBuilder<T,P,L,B>, ItemListingConfigurator<T,P,L,C>, ItemListingConfigurator.ItemListingContextMenuBuilder<T,P,L,B>, LabelBuilder<L>, LabelConfigurator<L,C>, LabelConfigurator.BaseLabelConfigurator<L>, LocalDateInputBuilder, LocalDateInputConfigurator<C>, LocalDateTimeInputBuilder, LocalDateTimeInputConfigurator<C>, LocalTimeInputBuilder, LocalTimeInputConfigurator<C>, MultiSelectableInputConfigurator<T,ITEM,C>, NativeButtonBuilder, NavigationLink.Builder, 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>, PropertyFormConfigurator<L,E,G,C>, PropertyInputFormBuilder<C>, PropertyInputFormConfigurator<C,B>, PropertyListingBuilder, PropertyListingBuilder.DatastorePropertyListingBuilder, PropertyListingBuilder.DatastorePropertyListingConfigurator, PropertyListingConfigurator<C>, PropertySelectInputConfigurator<T,S,C>, PropertyViewFormBuilder<C>, PropertyViewFormConfigurator<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>, ThemableFlexComponentConfigurator<C>, ThemableFlexComponentConfigurator.HorizontalLayoutConfigurator, ThemableFlexComponentConfigurator.VerticalLayoutConfigurator, ValidatableBooleanInputBuilder, ValidatableDateInputBuilder, ValidatableDateTimeInputBuilder, ValidatableLocalDateInputBuilder, ValidatableLocalDateTimeInputBuilder, ValidatableLocalTimeInputBuilder, ValidatableNumberInputBuilder<T>, ValidatablePasswordInputBuilder, ValidatableStringAreaInputBuilder, ValidatableStringInputBuilder, VerticalLayoutBuilder, ViewComponentAdapterBuilder<T>, ViewComponentBuilder<T>, ViewComponentConfigurator<T,C>
  All Known Implementing Classes:
    DefaultNavigationLink.DefaultBuilder

      public interface ComponentConfigurator<C extends ComponentConfigurator<C>>
      extends HasElementConfigurator<C>

  Interface to configure a `Component`.
  Since:
    5.2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `ComponentConfigurator.BaseComponentConfigurator` Base component configurator.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ComponentConfigurator.BaseComponentConfigurator` | `create(com.vaadin.flow.component.Component component)` Create a new `ComponentConfigurator.BaseComponentConfigurator` on given `component`.
    `C` | `elementConfiguration(Consumer<com.vaadin.flow.dom.Element> element)` Configure the component `Element`.
    `default C` | `hidden()` Set the component as not visible.
    `C` | `id(String id)` Sets the id of the root element of this component.
    `C` | `visible(boolean visible)` Sets the component visibility.
    `C` | `withAttachListener(com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.AttachEvent> listener)` Add an `AttachEvent` `ComponentEventListener` to the component, called after the component is attached to the application.
    `C` | `withDetachListener(com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.DetachEvent> listener)` Add an `DetachEvent` `ComponentEventListener` to the component, called before the component is detached from the application.

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

      `withEventListener, withEventListener, withThemeName`

- - ### Method Detail

    - #### id

          C id(String id)

      Sets the id of the root element of this component. The id is used with various APIs to identify the element, and it should be unique on the page.
      Parameters:
        `id` - the id to set, or `null` to remove any previously set id
      Returns:
        this

    - #### visible

          C visible(boolean visible)

      Sets the component visibility.

      When a component is set as invisible, all the updates of the component from the server to the client are blocked until the component is set as visible again.

      Invisible components don't receive any updates from the client-side.

      Parameters:
        `visible` - Whether the component is visible
      Returns:
        this

    - #### hidden

          default C hidden()

      Set the component as not visible.

      When a component is set as invisible, all the updates of the component from the server to the client are blocked until the component is set as visible again.

      Invisible components don't receive any updates from the client-side.

      Returns:
        this
      See Also:
        `visible(boolean)`

    - #### elementConfiguration

          C elementConfiguration(Consumer<com.vaadin.flow.dom.Element> element)

      Configure the component `Element`.
      Parameters:
        `element` - The consumer to use to configure the component `Element` (not null)
      Returns:
        this
      Since:
        5.2.3

    - #### withAttachListener

          C withAttachListener(com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.AttachEvent> listener)

      Add an `AttachEvent` `ComponentEventListener` to the component, called after the component is attached to the application.
      Parameters:
        `listener` - Listener to add
      Returns:
        this

    - #### withDetachListener

          C withDetachListener(com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.DetachEvent> listener)

      Add an `DetachEvent` `ComponentEventListener` to the component, called before the component is detached from the application.
      Parameters:
        `listener` - Listener to add
      Returns:
        this

    - #### create

          static ComponentConfigurator.BaseComponentConfigurator create(com.vaadin.flow.component.Component component)

      Create a new `ComponentConfigurator.BaseComponentConfigurator` on given `component`.
      Parameters:
        `component` - Component to configure (not null)
      Returns:
        A new `ComponentConfigurator.BaseComponentConfigurator` to configure given component

Copyright © 2019 The Holon Platform. All rights reserved.