com.vaadin.flow.data.provider.

Class 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 Detail

      • 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 Detail

      • 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