Это мой код:
Optional<Application> application = this.applicationDao.findById(id);
, где Application
класс:
public class Application {
private String code;
private Collection<ApplicationQuote> quotes;
}
Мне нужно создать поток из return Optional<Application>
, например:
(app, quote-1) > (app, quote-2) > ... > (app, quote-n)
Где каждый quote-n
внутри возвращается Optional<Application>.quotes
.
Надеюсь, я так хорошо объяснил.
До сих пор я был в состояниинаписать этот код, но я не чувствую себя комфортно с этим:
Optional<Application> application = this.applicationDao.findById(id);
application.map(app -> Pair.of(app, Optional.ofNullable(app.getQuotes())))
.filter(quote -> quote.getValue().isPresent())
.map(quote -> quote.getValue().get().stream().map(q -> Pair.of(quote.getKey(), q)));