![JAR search and dependency download from the Maven repository](/logo.png)
io.logz.sawmill.utilities.MathExpressionProvider Maven / Gradle / Ivy
The newest version!
package io.logz.sawmill.utilities;
import io.logz.sawmill.exceptions.ProcessorConfigurationException;
import net.objecthunter.exp4j.Expression;
import net.objecthunter.exp4j.ExpressionBuilder;
import java.util.Set;
public class MathExpressionProvider {
private final ThreadLocal localExpression;
public MathExpressionProvider(String expression, Set variables) {
localExpression = ThreadLocal.withInitial(() -> {
try {
return new ExpressionBuilder(expression)
.variables(variables)
.build();
} catch (IllegalArgumentException e) {
throw new ProcessorConfigurationException(String.format("invalid expression [%s]", expression));
}
});
}
public Expression provide() {
return localExpression.get();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy