Interface SourceMerger<S>
-
- Type Parameters:
S- Тип метаданной
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface SourceMerger<S>Слияние двух метаданных в одну
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <T,D>
voidaddIfNotNull(T source, T override, java.util.function.BiConsumer<T,D[]> setter, java.util.function.Function<T,D[]> getter)Добавить элементы из второго геттера в массив элементов первого геттераSmerge(S source, S override)Заменить свойства исходной метаданной значениями перекрывающей метаданной, если они не пустыdefault voidmergeExtAttributes(ExtensionAttributesAware source, ExtensionAttributesAware override)Слияние дополнительных атрибутовdefault <D> voidsetIfNotNull(java.util.function.Consumer<D> setter, java.util.function.Supplier<D> getter)Установить значение в сеттер, если в геттере оно не null
-
-
-
Method Detail
-
merge
S merge(S source, S override)
Заменить свойства исходной метаданной значениями перекрывающей метаданной, если они не пусты- Parameters:
source- Исходная метаданнаяoverride- перекрывающая метаданная- Returns:
- Исходная метаданная с перекрытыми свойствами
-
setIfNotNull
default <D> void setIfNotNull(java.util.function.Consumer<D> setter, java.util.function.Supplier<D> getter)Установить значение в сеттер, если в геттере оно не null- Type Parameters:
D- Тип данных- Parameters:
setter- Сеттерgetter- Геттер
-
addIfNotNull
default <T,D> void addIfNotNull(T source, T override, java.util.function.BiConsumer<T,D[]> setter, java.util.function.Function<T,D[]> getter)Добавить элементы из второго геттера в массив элементов первого геттера
-
mergeExtAttributes
default void mergeExtAttributes(ExtensionAttributesAware source, ExtensionAttributesAware override)
Слияние дополнительных атрибутов
-
-