com.holonplatform.core.beans

## Interface BeanPropertySet.Builder<T,B extends BeanPropertySet<T>>

- Type Parameters:
    `T` - Bean type
    `B` - Concrete bean property set type
  All Superinterfaces:
    HasConfiguration<ParameterSet>
  Enclosing interface:
    BeanPropertySet<T>

      public static interface BeanPropertySet.Builder<T,B extends BeanPropertySet<T>>
      extends HasConfiguration<ParameterSet>

  `BeanPropertySet` builder.
  Since:
    5.1.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `B` | `build()` Build the `BeanPropertySet` instance.
    `default <C> BeanPropertySet.Builder<T,B>` | `configuration(ConfigProperty<C> configurationProperty, C value)` Add a `BeanPropertySet` configuration parameter using a `ConfigProperty`, with `ConfigProperty.getKey()` as parameter name.
    `BeanPropertySet.Builder<T,B>` | `configuration(String name, Object value)` Add a `BeanPropertySet` configuration parameter.
    `BeanPropertySet.Builder<T,B>` | `identifiers(String... propertyNames)` Set given property names as `BeanPropertySet` identifier properties.

    - ### Methods inherited from interface com.holonplatform.core.HasConfiguration

      `getConfiguration, hasConfiguration`

- - ### Method Detail

    - #### identifiers

          BeanPropertySet.Builder<T,B> identifiers(String... propertyNames)

      Set given property names as `BeanPropertySet` identifier properties. Any previously declared identifier property will be replaced by given identifier properties.

      The property names to declare as identifiers must be present in the bean property set.

      Parameters:
        `propertyNames` - The property names to declare as property set identifiers
      Returns:
        this
      Throws:
        `IllegalStateException` - If one of the property name to declare as identifier is not part of the bean property set

    - #### configuration

          BeanPropertySet.Builder<T,B> configuration(String name,
                                                     Object value)

      Add a `BeanPropertySet` configuration parameter.
      Parameters:
        `name` - The parameter name to add (not null)
        `value` - The configuration parameter value
      Returns:
        this

    - #### configuration

          default <C> BeanPropertySet.Builder<T,B> configuration(ConfigProperty<C> configurationProperty,
                                                                 C value)

      Add a `BeanPropertySet` configuration parameter using a `ConfigProperty`, with `ConfigProperty.getKey()` as parameter name.
      Type Parameters:
        `C` - Config property type
      Parameters:
        `configurationProperty` - The `ConfigProperty` to add (not null)
        `value` - The configuration property value
      Returns:
        this

    - #### build

          B build()

      Build the `BeanPropertySet` instance.
      Returns:
        the `BeanPropertySet` instance

Copyright © 2019 The Holon Platform. All rights reserved.