У меня есть список как
List<Tuple3<Object1, Mono<List<Object2>>, Mono<List<Object3>>>>
И мне нужно написать метод с подписью как
private Mono<Dto> buildDto(List<Tuple3<Object1, Mono<List<Object2>>, Mono<List<Object3>>>> tuples) {...}
Как я могу отслеживать все элементы списка tuples
один за другим чтобы получить значения Object1, Object2, Object3, не пропуская ни одного из них?
Я пытался выполнить
AtomicReference<Dto> dtoAtomic = new AtomicReference<>(buildEmptyDto());
return tuples.stream()
.map(tuple3 -> {
return Mono.zip(tuple3.getT2(), tuple3.getT3(),
(object2, object3) -> {
Dto dto = dtoAtomic.get();
dtoAtomic.set(dto);
return dto;
});
})
.collect(Collectors.toList())
.stream()
.findFirst()
.orElse(Mono.just(dtoAtomic.get()))
Но есть только один Mono.zip (...) может быть получил, но мне нужно получить все кортежи.