Skip to content

Instantly share code, notes, and snippets.

@heldev
Created October 8, 2016 00:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save heldev/1a607f0b0a4bb2b4194bc58b6e2689db to your computer and use it in GitHub Desktop.
Save heldev/1a607f0b0a4bb2b4194bc58b6e2689db to your computer and use it in GitHub Desktop.
public Optional<Dinner> makeDinner(GrillService service) {
Optional<Charcoal> charcoal = service.getCharcoal();
Optional<Lighter> lighter = service.getLighter();
Optional<CornCob> cornCob = service.getCornCob();
return Stream.of(charcoal, lighter, cornCob).allMatch(Optional::isPresent)
? service.lightFire(charcoal.get(), lighter.get()).flatMap(fire -> service.grill(fire, cornCob.get()))
: Optional.empty();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment