com.holonplatform.vaadin.components

## Interface ComposableComponent.Builder<S extends PropertyComponentSource,C extends com.vaadin.ui.Component,B extends ComposableComponent.Builder<S,C,B>>

- Type Parameters:
    `S` - Components source type
    `C` - Content component type
    `B` - Concrete builder type
  All Known Subinterfaces:
    PropertyInputForm.PropertyInputFormBuilder<C>, PropertyViewForm.PropertyViewFormBuilder<C>
  Enclosing interface:
    ComposableComponent

      public static interface ComposableComponent.Builder<S extends PropertyComponentSource,C extends com.vaadin.ui.Component,B extends ComposableComponent.Builder<S,C,B>>

  Base `ComposableComponent` builder.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `B` | `componentsWidthMode(ComposableComponent.ComponentsWidthMode componentsWidthMode)` Set the composed Components width setup mode.
    `B` | `composeOnAttach(boolean composeOnAttach)` Set whether to compose the components into the content component when the content is attached to a parent component, only if the component was not already composed using `ComposableComponent.compose()`.
    `B` | `composer(ComposableComponent.Composer<? super C,S> composer)` Set the `ComposableComponent.Composer` to be used to compose the components into the content component.
    `B` | `initializer(Consumer<C> initializer)` Set a content initializer to setup the content component.

- - ### Method Detail

    - #### initializer

          B initializer(Consumer<C> initializer)

      Set a content initializer to setup the content component. This initiliazer is called every time the content composition is triggered.
      Parameters:
        `initializer` - Content initializer (not null)
      Returns:
        this

    - #### composer

          B composer(ComposableComponent.Composer<? super C,S> composer)

      Set the `ComposableComponent.Composer` to be used to compose the components into the content component.
      Parameters:
        `composer` - The composer to set (not null)
      Returns:
        this

    - #### composeOnAttach

          B composeOnAttach(boolean composeOnAttach)

      Set whether to compose the components into the content component when the content is attached to a parent component, only if the component was not already composed using `ComposableComponent.compose()`.

      Default is `true`.

      Parameters:
        `composeOnAttach` - `true` to compose the components when the content is attached to a parent component. If `false`, the `ComposableComponent.compose()` method must be invoked to compose the components.
      Returns:
        this

    - #### componentsWidthMode

          B componentsWidthMode(ComposableComponent.ComponentsWidthMode componentsWidthMode)

      Set the composed Components width setup mode.
      Parameters:
        `componentsWidthMode` - composed Components width setup mode (not null)
      Returns:
        this

Copyright © 2019 The Holon Platform. All rights reserved.