33 lines
807 B
Java
33 lines
807 B
Java
package io.gitlab.jfronny.woodpecker.include.util;
|
|
|
|
import com.amihaiemil.eoyaml.*;
|
|
|
|
import java.util.Set;
|
|
import java.util.function.Predicate;
|
|
import java.util.stream.Collectors;
|
|
|
|
public class FilteringYamlMapping extends BaseYamlMapping {
|
|
private final YamlMapping base;
|
|
private final Predicate<YamlNode> filter;
|
|
|
|
public FilteringYamlMapping(YamlMapping base, Predicate<YamlNode> filter) {
|
|
this.base = base;
|
|
this.filter = filter;
|
|
}
|
|
|
|
@Override
|
|
public Set<YamlNode> keys() {
|
|
return base.keys().stream().filter(filter).collect(Collectors.toSet());
|
|
}
|
|
|
|
@Override
|
|
public YamlNode value(YamlNode key) {
|
|
return filter.test(key) ? base.value(key) : null;
|
|
}
|
|
|
|
@Override
|
|
public Comment comment() {
|
|
return base.comment();
|
|
}
|
|
}
|