com.holonplatform.vaadin.components.builders

## Interface PropertyListingBuilder<C extends ItemListing<com.holonplatform.core.property.PropertyBox,com.holonplatform.core.property.Property>,B extends PropertyListingBuilder<C,B,X>,X extends com.vaadin.ui.Component>

- Type Parameters:
    `C` - Actual listing type
    `B` - Concrete builder type
    `X` - Concrete backing component type
  All Superinterfaces:
    BaseItemDataSourceComponentBuilder<B>, ComponentBuilder<C,B>, ComponentConfigurator<B>, ComponentPostProcessorSupport<X,B>, ItemDataSourceComponentBuilder<com.holonplatform.core.property.PropertyBox,C,B>, ItemListingBuilder<com.holonplatform.core.property.PropertyBox,com.holonplatform.core.property.Property,C,B,X>
  All Known Subinterfaces:
    PropertyListingBuilder.BaseGridPropertyListingBuilder<C,B>, PropertyListingBuilder.GridPropertyListingBuilder

      public interface PropertyListingBuilder<C extends ItemListing<com.holonplatform.core.property.PropertyBox,com.holonplatform.core.property.Property>,B extends PropertyListingBuilder<C,B,X>,X extends com.vaadin.ui.Component>
      extends ItemListingBuilder<com.holonplatform.core.property.PropertyBox,com.holonplatform.core.property.Property,C,B,X>

  An `ItemListingBuilder` using `Property` as item properties and `PropertyBox` as item data type.
  Since:
    5.0.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `PropertyListingBuilder.BaseGridPropertyListingBuilder<C extends ItemListing<com.holonplatform.core.property.PropertyBox,com.holonplatform.core.property.Property>,B extends PropertyListingBuilder.BaseGridPropertyListingBuilder<C,B>>` Builder to create `ItemListing` component with `Property` as property type, `PropertyBox` as item type and using a `Grid` as backing component.
    `static interface` | `PropertyListingBuilder.GridPropertyListingBuilder` Builder to create a `PropertyListing` component using a `Grid` as backing component.

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

      `ItemListingBuilder.BaseGridItemListingBuilder<T,P,C extends ItemListing<T,P>,B extends ItemListingBuilder.BaseGridItemListingBuilder<T,P,C,B>>, ItemListingBuilder.ColumnHeaderMode, ItemListingBuilder.FooterBuilder<P>, ItemListingBuilder.GridFooterGenerator<T,P>, ItemListingBuilder.GridItemListingBuilder<T,C extends ItemListing<T,String>,B extends ItemListingBuilder.GridItemListingBuilder<T,C,B>>, ItemListingBuilder.GridSection<ROWTYPE>, ItemListingBuilder.HeaderBuilder<P>, ItemListingBuilder.ListingFooterRow<P>, ItemListingBuilder.ListingHeaderRow<P>`

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

      `ComponentConfigurator.BaseComponentConfigurator`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `B` | `dataSource(com.holonplatform.core.datastore.Datastore datastore, com.holonplatform.core.datastore.DataTarget<?> dataTarget)` Set given `Datastore` with the provided `dataTarget` as items data source.
    `B` | `dataSource(com.holonplatform.core.datastore.Datastore datastore, com.holonplatform.core.datastore.DataTarget<?> dataTarget, com.holonplatform.core.property.Property... identifierProperties)` Set given `Datastore` with the provided `dataTarget` as items data source, using given `identifierProperties` as item identifiers.
    `B` | `dataSource(ItemDataProvider<com.holonplatform.core.property.PropertyBox> dataProvider, com.holonplatform.core.property.Property... identifierProperties)` Deprecated. Use `ItemDataSourceComponentBuilder.dataSource(ItemDataProvider, com.holonplatform.vaadin.data.ItemIdentifierProvider)` to provide a custom item identifier provider. By default, the identifier properties of the item listing property set will be used to identify each `PropertyBox` item.

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

      `alignment, bodyRowHeight, buffered, build, build, columnHidingAllowed, columnReorderingAllowed, commitHandler, defaultValue, displayAfter, displayAsFirst, displayAsLast, displayBefore, editable, editable, footerRowHeight, footerVisible, header, header, header, headerRowHeight, hidable, hidden, hideHeaders, itemDescriptionGenerator, readOnly, rowHeight, selectAllCheckBoxVisibility, selectionMode, sortable, sortable, sortGenerator, sortUsing, style, style, width, withItemClickListener, withPropertyReorderListener, withPropertyResizeListener, withPropertyVisibilityListener, withRowStyle, withSelectionListener`

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

      `dataSource, dataSource`

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

      `autoRefresh, batchSize, defaultSort, fixedFilter, fixedSort, maxCacheSize, queryParameter, withQueryConfigurationProvider`

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

      `build, deferLocalization, dragSource, dropTarget`

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

      `caption, caption, caption, captionAsHtml, description, description, description, disabled, errorHandler, fullHeight, fullSize, fullWidth, height, height, heightUndefined, hidden, icon, id, notVisible, primaryStyleName, replaceStyleName, responsive, sizeUndefined, styleName, width, width, widthUndefined, withAttachListener, withContextClickListener, withData, withDetachListener, withShortcutListener`

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

      `withPostProcessor`

- - ### Method Detail

    - #### dataSource

          @Deprecated
          B dataSource(ItemDataProvider<com.holonplatform.core.property.PropertyBox> dataProvider,
                                    com.holonplatform.core.property.Property... identifierProperties)

      Deprecated. Use `ItemDataSourceComponentBuilder.dataSource(ItemDataProvider, com.holonplatform.vaadin.data.ItemIdentifierProvider)` to provide a custom item identifier provider. By default, the identifier properties of the item listing property set will be used to identify each `PropertyBox` item.
      Set the items data provider.
      Parameters:
        `dataProvider` - Items data provider (not null)
        `identifierProperties` - Properties wich act as item identifier
      Returns:
        this

    - #### dataSource

          B dataSource(com.holonplatform.core.datastore.Datastore datastore,
                       com.holonplatform.core.datastore.DataTarget<?> dataTarget)

      Set given `Datastore` with the provided `dataTarget` as items data source. `PropertyBox` items will be fetched from the persistence source using a properly configured Datastore query, with given `dataTarget` representing the persistent entity to query.

      This data source supports `QueryConfigurationProvider`s to provide additional query configuration. A `QueryConfigurationProvider` can be added using `BaseItemDataSourceComponentBuilder.withQueryConfigurationProvider(QueryConfigurationProvider)`.

      If the item listing was built on a `PropertySet` which provides identifier properties (see `PropertySet.getIdentifiers()`), the identifier properties will be used as `PropertyBox` item identifiers, i.e. the `equals` and `hashCode` logic of the items will be implemented accordingly to the values of the identifier properties.

      A `Datastore` based `ItemDataSource.CommitHandler` is also configured by default.

      Parameters:
        `datastore` - The `Datastore` to use (not null)
        `dataTarget` - The `DataTarget` to use as query target (not null)
      Returns:
        this
      See Also:
        `dataSource(Datastore, DataTarget, Property...)`

    - #### dataSource

          B dataSource(com.holonplatform.core.datastore.Datastore datastore,
                       com.holonplatform.core.datastore.DataTarget<?> dataTarget,
                       com.holonplatform.core.property.Property... identifierProperties)

      Set given `Datastore` with the provided `dataTarget` as items data source, using given `identifierProperties` as item identifiers. `PropertyBox` items will be fetched from the persistence source using a properly configured Datastore query, with given `dataTarget` representing the persistent entity to query.

      The provided identifier properties will be used as `PropertyBox` item identifiers, i.e. the `equals` and `hashCode` logic of the items will be implemented accordingly to the values of the identifier properties.

      This data source supports `QueryConfigurationProvider`s to provide additional query configuration. A `QueryConfigurationProvider` can be added using `BaseItemDataSourceComponentBuilder.withQueryConfigurationProvider(QueryConfigurationProvider)`.

      A `Datastore` based `ItemDataSource.CommitHandler` is also configured by default.

      Parameters:
        `datastore` - Datastore to use (not null)
        `dataTarget` - Data target to use to load items (not null)
        `identifierProperties` - Properties to use as item identifiers
      Returns:
        this

Copyright © 2019 The Holon Platform. All rights reserved.