com.holonplatform.vaadin.flow.components.builders

## Interface ViewComponentAdapterBuilder<T>

- Type Parameters:
    `T` - Value type
  All Superinterfaces:
    ClickNotifierConfigurator<ViewComponent<T>,ClickEvent<ViewComponent<T>>,ViewComponentAdapterBuilder<T>>, ComponentConfigurator<ViewComponentAdapterBuilder<T>>, DeferrableLocalizationConfigurator<ViewComponentAdapterBuilder<T>>, HasDeferrableLocalization, HasElementConfigurator<ViewComponentAdapterBuilder<T>>, HasEnabledConfigurator<ViewComponentAdapterBuilder<T>>, HasLabelConfigurator<ViewComponentAdapterBuilder<T>>, HasSizeConfigurator<ViewComponentAdapterBuilder<T>>, HasStyleConfigurator<ViewComponentAdapterBuilder<T>>, HasTitleConfigurator<ViewComponentAdapterBuilder<T>>, HtmlComponentConfigurator<ViewComponentAdapterBuilder<T>>, ViewComponentConfigurator<T,ViewComponentAdapterBuilder<T>>

      public interface ViewComponentAdapterBuilder<T>
      extends ViewComponentConfigurator<T,ViewComponentAdapterBuilder<T>>

  `ViewComponent` adapter builder.
  Since:
    5.2.2

- - ### Nested Class Summary

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

      `ComponentConfigurator.BaseComponentConfigurator`

  - ### Field Summary

    - ### Fields inherited from interface com.holonplatform.vaadin.flow.components.builders.HasSizeConfigurator

      `FULL_SIZE`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `ViewComponent<T>` | `build()` Build the `ViewComponent` instance.
    `static <T,C extends com.vaadin.flow.component.Component> ViewComponentAdapterBuilder<T>` | `create(Class<T> type, C content, BiConsumer<C,T> valueConsumer)` Create a new `ViewComponentAdapterBuilder`.
    `static <T,C extends com.vaadin.flow.component.Component> ViewComponentAdapterBuilder<T>` | `create(Class<T> type, Function<T,C> componentProvider)` Create a new `ViewComponentAdapterBuilder`.

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

      `labelVisible, withValue, withValueChangeListener`

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

      `hidden, id, visible, withAttachListener, withDetachListener`

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

      `withEventListener, withEventListener, withThemeName`

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

      `fullHeight, fullSize, fullWidth, height, height, heightUndefined, sizeUndefined, width, width, widthUndefined`

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

      `styleName, styleNames`

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

      `description, description, description, title, title, title`

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

      `disabled, enabled`

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

      `label, label, label`

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

      `onClick, withClickListener`

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

      `deferLocalization, withDeferredLocalization`

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

      `isDeferredLocalizationEnabled`

- - ### Method Detail

    - #### build

          ViewComponent<T> build()

      Build the `ViewComponent` instance.
      Returns:
        the `ViewComponent` instance

    - #### create

          static <T,C extends com.vaadin.flow.component.Component> ViewComponentAdapterBuilder<T> create(Class<T> type,
                                                                                                         Function<T,C> componentProvider)

      Create a new `ViewComponentAdapterBuilder`.
      Type Parameters:
        `T` - Value type
        `C` - View component content type
      Parameters:
        `type` - Value type
        `componentProvider` - The function to provide a content component each time the value changes (not null)
      Returns:
        A new `ViewComponentAdapterBuilder`

    - #### create

          static <T,C extends com.vaadin.flow.component.Component> ViewComponentAdapterBuilder<T> create(Class<T> type,
                                                                                                         C content,
                                                                                                         BiConsumer<C,T> valueConsumer)

      Create a new `ViewComponentAdapterBuilder`.
      Type Parameters:
        `T` - Value type
        `C` - View component content type
      Parameters:
        `type` - Value type
        `content` - The fixed content component (not null)
        `valueConsumer` - The consumer to configure the content component each time the value changes (not null)
      Returns:
        A new `ViewComponentAdapterBuilder`

Copyright © 2019 The Holon Platform. All rights reserved.