Class DataProviderSeries<T>

All Implemented Interfaces:
Series, Serializable

public class DataProviderSeries<T> extends AbstractSeries
A series which is based on data from a DataProvider.

You must use setY(SerializableFunction) to define which part of the data bean to use as y values.

Note that even if you use a lazy loading DataProvider, this series will work in an eager fashion and load all the data from the provider at once.

See Also:
  • Field Details

  • Constructor Details

    • DataProviderSeries

      public DataProviderSeries(com.vaadin.flow.data.provider.DataProvider<T,?> dataProvider)
      Creates a new series using data from the given data provider.

      Many chart types such as ChartType.BAR, ChartType.LINE, ChartType.AREA etc use y values to define the data points to show in the chart. For these chart types you should use either DataProviderSeries(DataProvider, SerializableFunction) or setY(SerializableFunction) to define the function (lambda) which extracts the values from the bean in the provider.

      Other chart types such as ChartType.ERRORBAR do not require y values but instead high and low values. Functions for extracting these are set using setHigh(SerializableFunction) and setLow(SerializableFunction) respectively.

      Parameters:
      dataProvider - the data provider which contains the data
    • DataProviderSeries

      public DataProviderSeries(com.vaadin.flow.data.provider.DataProvider<T,?> dataProvider, com.vaadin.flow.function.SerializableFunction<T,Object> callBack)
      Creates a new series using data from the given data provider and y values.
      Parameters:
      dataProvider - the data provider which contains the data
      callBack - the function which retrieves the y values
  • Method Details

    • setProperty

      public void setProperty(String propertyName, com.vaadin.flow.function.SerializableFunction<T,Object> callBack)
      Sets the function used for retrieving the value for the given property name from the given data provider.
      Parameters:
      propertyName - the property name
      callBack - the function which retrieves the value for the property
    • setX

      public void setX(com.vaadin.flow.function.SerializableFunction<T,Object> callBack)
      Sets the function used for retrieving x values from the bean provided by the data provider.

      How exactly the values are used depends on the used chart type.

      Parameters:
      callBack - the function which retrieves the values
    • setY

      public void setY(com.vaadin.flow.function.SerializableFunction<T,Object> callBack)
      Sets the function used for retrieving y values from the bean provided by the data provider.

      How exactly the values are used depends on the used chart type.

      Parameters:
      callBack - the function which retrieves the values
    • setPointName

      public void setPointName(com.vaadin.flow.function.SerializableFunction<T,Object> callBack)
      Sets the function used for retrieving name values from the bean provided by the data provider.

      How exactly the values are used depends on the used chart type.

      Parameters:
      callBack - the function which retrieves the values
    • setLow

      public void setLow(com.vaadin.flow.function.SerializableFunction<T,Object> callBack)
      Sets the function used for retrieving low values from the bean provided by the data provider.

      How exactly the values are used depends on the used chart type.

      Parameters:
      callBack - the function which retrieves the values
    • setHigh

      public void setHigh(com.vaadin.flow.function.SerializableFunction<T,Object> callBack)
      Sets the function used for retrieving high values from the bean provided by the data provider.

      How exactly the values are used depends on the used chart type.

      Parameters:
      callBack - the function which retrieves the values
    • setOpen

      public void setOpen(com.vaadin.flow.function.SerializableFunction<T,Object> callBack)
      Sets the function used for retrieving open values from the bean provided by the data provider.

      How exactly the values are used depends on the used chart type.

      Parameters:
      callBack - the function which retrieves the values
    • setClose

      public void setClose(com.vaadin.flow.function.SerializableFunction<T,Object> callBack)
      Sets the function used for retrieving close values from the bean provided by the data provider.

      How exactly the values are used depends on the used chart type.

      Parameters:
      callBack - the function which retrieves the values
    • getDataProvider

      public com.vaadin.flow.data.provider.DataProvider<T,?> getDataProvider()
      Returns the underlying data provider.
      Returns:
      the underlying data provider.
    • getValues

      public List<Map<String,Optional<Object>>> getValues()
      Returns a list mappings between chart attributes(keys) and values. For example: x->1, x->2, y->2, y->3 for linear chart
      Returns:
    • getChartAttributes

      public Set<String> getChartAttributes()
      Returns a set of chart attributes(keys).
      Returns:
    • isAutomaticChartUpdateEnabled

      public boolean isAutomaticChartUpdateEnabled()
      Returns true if the chart is updated automatically when a DataChangeEvent is emitted by the data provider. Default is true.
      Returns:
    • setAutomaticChartUpdateEnabled

      public void setAutomaticChartUpdateEnabled(boolean automaticChartUpdateEnabled)
      Sets if the chart should be updated automatically when a DataChangeEvent is emitted by the data provider. Default is true.
      Parameters:
      automaticChartUpdateEnabled - True sets the chart updating to enabled, false disables it.