Class InMemoryDataProviderHelpers

java.lang.Object
com.vaadin.flow.data.provider.InMemoryDataProviderHelpers

public class InMemoryDataProviderHelpers extends Object
Helper methods for implementing InMemoryDataProviders.

This class is intended primarily for internal use.

Since:
1.0
Author:
Vaadin Ltd
  • Field Details

    • CURRENT_LOCALE_SUPPLIER

      public static final SerializableSupplier<Locale> CURRENT_LOCALE_SUPPLIER
      Supplier that attempts to resolve a locale from the current UI. Returns the system's default locale as a fallback.
  • Method Details

    • filteringByIgnoreNull

      public static <T, V, Q> DataProvider<T,Q> filteringByIgnoreNull(InMemoryDataProvider<T> dataProvider, ValueProvider<T,V> valueProvider, SerializableBiPredicate<V,Q> predicate)
      Wraps a given data provider so that its filter ignores null items returned by the given value provider.
      Type Parameters:
      T - the provided data type
      Q - the filter type
      V - the data provider object type
      Parameters:
      dataProvider - the data provider to wrap
      valueProvider - the value provider for providing values to filter
      predicate - the predicate to combine null filtering with
      Returns:
      the wrapped data provider
    • filteringByCaseInsensitiveString

      public static <T> DataProvider<T,String> filteringByCaseInsensitiveString(InMemoryDataProvider<T> dataProvider, ValueProvider<T,String> valueProvider, SerializableBiPredicate<String,String> predicate, SerializableSupplier<Locale> localeSupplier)
      Wraps a given data provider so that its filter tests the given predicate with the lower case string provided by the given value provider.
      Type Parameters:
      T - the data provider object type
      Parameters:
      dataProvider - the data provider to wrap
      valueProvider - the value provider for providing string values to filter
      predicate - the predicate to use for comparing the resulting lower case strings
      localeSupplier - the locale to use when converting strings to lower case
      Returns:
      the wrapped data provider
    • propertyComparator

      public static <V extends Comparable<? super V>, T> SerializableComparator<T> propertyComparator(ValueProvider<T,V> valueProvider, SortDirection sortDirection)
      Creates a comparator for the return type of the given ValueProvider, sorted in the direction specified by the given SortDirection.
      Type Parameters:
      T - the data provider object type
      V - the provided value type
      Parameters:
      valueProvider - the value provider to use
      sortDirection - the sort direction to use
      Returns:
      the created comparator
    • getNaturalSortComparator

      public static <V extends Comparable<? super V>> Comparator<V> getNaturalSortComparator(SortDirection sortDirection)
      Gets the natural order comparator for the type argument, or the natural order comparator reversed if the given sorting direction is SortDirection.DESCENDING.
      Type Parameters:
      V - the objects to compare
      Parameters:
      sortDirection - the sort direction to use
      Returns:
      the natural comparator, with ordering defined by the given sort direction
    • createValueProviderFilter

      public static <T, V> SerializablePredicate<T> createValueProviderFilter(ValueProvider<T,V> valueProvider, SerializablePredicate<V> valueFilter)
      Creates a new predicate from the given predicate and value provider. This allows using a predicate of the value providers return type with objects of the value providers type.
      Type Parameters:
      T - the data provider object type
      V - the provided value type
      Parameters:
      valueProvider - the value provider to use
      valueFilter - the original predicate
      Returns:
      the created predicate
    • createEqualsFilter

      public static <T, V> SerializablePredicate<T> createEqualsFilter(ValueProvider<T,V> valueProvider, V requiredValue)
      Creates a predicate that compares equality of the given required value to the value the given value provider obtains.
      Type Parameters:
      T - the data provider object type
      V - the provided value type
      Parameters:
      valueProvider - the value provider to use
      requiredValue - the required value
      Returns:
      the created predicate