Java 11 migration: patterns starting with a (#1084)
* Moves abstract-factory pattern to java 11 * Moves abstract-document pattern to java 11 * Moves acyclic-visitor pattern to java 11 * Moves adapter pattern to java 11 * Moves aggregator-microservices pattern to java 11 * Moves api-gateway pattern to java 11
This commit is contained in:
committed by
Ilkka Seppälä
parent
3c57bf7078
commit
f04fc3c0dc
@ -23,10 +23,10 @@
|
||||
|
||||
package com.iluwatar.abstractdocument;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@ -55,9 +55,13 @@ public abstract class AbstractDocument implements Document {
|
||||
|
||||
@Override
|
||||
public <T> Stream<T> children(String key, Function<Map<String, Object>, T> constructor) {
|
||||
Optional<List<Map<String, Object>>> any = Stream.of(get(key)).filter(Objects::nonNull)
|
||||
.map(el -> (List<Map<String, Object>>) el).findAny();
|
||||
return any.map(maps -> maps.stream().map(constructor)).orElseGet(Stream::empty);
|
||||
return Stream.ofNullable(get(key))
|
||||
.filter(Objects::nonNull)
|
||||
.map(el -> (List<Map<String, Object>>) el)
|
||||
.findAny()
|
||||
.stream()
|
||||
.flatMap(Collection::stream)
|
||||
.map(constructor);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user