All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.logz.sawmill.utilities.XPathExpressionProvider Maven / Gradle / Ivy

The newest version!
package io.logz.sawmill.utilities;

import io.logz.sawmill.exceptions.ProcessorConfigurationException;

import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;

public class XPathExpressionProvider {
    private final ThreadLocal localXPathExpression;

    public XPathExpressionProvider(String expression) {
        localXPathExpression = ThreadLocal.withInitial(() -> {
            try {
                return XPathFactory.newInstance().newXPath().compile(expression);
            } catch (XPathExpressionException e) {
                throw new ProcessorConfigurationException("failed to create xpath expression", e);
            }
        });
    }

    public XPathExpression provide() {
        return localXPathExpression.get();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy