Package com.vaadin.flow.data.provider
Class InMemoryDataProviderHelpers
java.lang.Object
com.vaadin.flow.data.provider.InMemoryDataProviderHelpers
Helper methods for implementing
InMemoryDataProviders.
This class is intended primarily for internal use.
- Since:
- 1.0
- Author:
- Vaadin Ltd
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SerializableSupplier<Locale> Supplier that attempts to resolve a locale from the current UI. -
Method Summary
Modifier and TypeMethodDescriptionstatic <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.static <T,V> SerializablePredicate <T> createValueProviderFilter(ValueProvider<T, V> valueProvider, SerializablePredicate<V> valueFilter) Creates a new predicate from the given predicate and value provider.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.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.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 isSortDirection.DESCENDING.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 givenValueProvider, sorted in the direction specified by the givenSortDirection.
-
Field Details
-
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, DataProvider<T,Q> 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 typeV- the data provider object typeQ- the filter type- Parameters:
dataProvider- the data provider to wrapvalueProvider- the value provider for providing values to filterpredicate- 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 wrapvalueProvider- the value provider for providing string values to filterpredicate- the predicate to use for comparing the resulting lower case stringslocaleSupplier- 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 givenValueProvider, sorted in the direction specified by the givenSortDirection.- Type Parameters:
V- the provided value typeT- the data provider object type- Parameters:
valueProvider- the value provider to usesortDirection- 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 isSortDirection.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 typeV- the provided value type- Parameters:
valueProvider- the value provider to usevalueFilter- 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 typeV- the provided value type- Parameters:
valueProvider- the value provider to userequiredValue- the required value- Returns:
- the created predicate
-