jafea7-ctbrec-v5.3.0-based/common/src/main/java/ctbrec/variableexpansion/functions/OrElse.java

27 lines
738 B
Java

package ctbrec.variableexpansion.functions;
import ctbrec.StringUtil;
import ctbrec.variableexpansion.VarArgsFunction;
import java.util.Optional;
public class OrElse implements VarArgsFunction<Object, String> {
@Override
public String apply(Object... params) {
if (params == null || params.length < 1) {
return "";
}
String fallback = "";
if (params.length >= 2) {
fallback = String.valueOf(params[1]);
}
Optional<String> result = Optional.ofNullable(params[0]).map(String::valueOf);
if (result.isPresent() && StringUtil.isNotBlank(result.get())) {
return result.get();
} else {
return fallback;
}
}
}