下面列出了怎么用com.vaadin.server.SerializableFunction的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public <C> void setDataProvider(final DataProvider<T, C> dataProvider, final SerializableFunction<String, C> filterConverter) {
Objects.requireNonNull(dataProvider, "dataProvider cannot be null");
Objects.requireNonNull(filterConverter, "filterConverter cannot be null");
final SerializableFunction<String, C> convertOrNull = filterText -> {
if (filterText == null || filterText.isEmpty()) {
return null;
}
return filterConverter.apply(filterText);
};
final SerializableConsumer<C> providerFilterSlot = internalSetDataProvider(dataProvider, convertOrNull.apply(this.currentFilterText));
this.filterSlot = filter -> providerFilterSlot.accept(convertOrNull.apply(filter));
}
@Override
public <C> void setDataProvider(final DataProvider<T, C> dataProvider, final SerializableFunction<String, C> filterConverter) {
Objects.requireNonNull(dataProvider, "dataProvider cannot be null");
Objects.requireNonNull(filterConverter, "filterConverter cannot be null");
final SerializableFunction<String, C> convertOrNull = filterText -> {
if (filterText == null || filterText.isEmpty()) {
return null;
}
return filterConverter.apply(filterText);
};
final SerializableConsumer<C> providerFilterSlot = internalSetDataProvider(dataProvider, convertOrNull.apply(this.currentFilterText));
this.filterSlot = filter -> providerFilterSlot.accept(convertOrNull.apply(filter));
}
protected Stream<T> getChildrenRecursively(T parent) {
Supplier<Stream<T>> children = () -> getChildren(parent);
Stream<T> items = children.get().flatMap((SerializableFunction<T, Stream<T>>)
this::getChildrenRecursively);
return Stream.concat(children.get(), items);
}
private Object getConvertedValue(HasValue<?> component) {
if (component instanceof Converter) {
Converter converter = (Converter) component;
Result result = converter.convertToModel(component.getValue(), null);
try {
return result.getOrThrow(SerializableFunction.identity());
} catch (Throwable throwable) {
throw new MyCollabException(throwable);
}
}
return component.getValue();
}