add new parsed op enhancer function

This commit is contained in:
Jonathan Shook 2022-02-24 16:13:30 -06:00
parent dd80d4d69c
commit 2048399577

View File

@ -460,6 +460,20 @@ public class ParsedOp implements LongFunction<Map<String, ?>>, StaticFieldReader
return getOptionalEnumFromField(enumClass,fieldName).orElse(defaultEnum);
}
public <FA,FE> LongFunction<FA> enhance(
LongFunction<FA> func,
String field,
Class<FE> type,
FE defaultFe,
BiFunction<FA,FE,FA> combiner
) {
LongFunction<FE> fieldEnhancerFunc = getAsFunctionOr(field, defaultFe);
LongFunction<FA> faLongFunction = func;
LongFunction<FA> lfa = l -> combiner.apply(faLongFunction.apply(l),fieldEnhancerFunc.apply(l));
return lfa;
}
public <FA,FE> Optional<LongFunction<FA>> enhance(
Optional<LongFunction<FA>> func,
String field,