Jak napisałem wyżej mam problem teoretyczny co lepsze (czytelniejsze?, wydajniejsze?) - Callback czy Stream.
Czytam duży zbiór elementów z zasobu źródłowego i od razu chce zapisywać do zasobu docelowego.
Dla obu zasobów mam DAO/Repo czy jak to teraz się nazywa ogólnie obiekt opakowujący i chciałbym żeby tak pozostało że nie mieszam tych kodów.
W związku z tym że muszę na zmianę czytać po kawału i zapisywać po kawałku zastanawiam się co lepsze
Callback (consumer)
sourceRepo.readAllAndConsume(destRepo.createConsumer())
Stream
final Stream<Element> stream = sourceRepo.readAll()
destRepo.saveAll(stream)
Jakbym nie miał problemu dużej ilości danych to zrobiłbym prostacko
final List<Element> list = sourceRepo.readAll()
destRepo.saveAll(list)
Rozwiązanie ze Streamem wydaje mi się bardziej uniwersalne, ale zastanawiam się czy nie trafię na jakieś niespodziewane problemy