import static java.util.Objects.requireNonNull;
import java.net.URI;
+import javax.xml.xpath.XPathExpressionException;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.opendaylight.yangtools.concepts.Immutable;
+import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression;
+import org.opendaylight.yangtools.yang.xpath.api.YangXPathMathMode;
+import org.opendaylight.yangtools.yang.xpath.api.YangXPathParserFactory;
/**
* This class represents a {@code filter} parameter as defined in
public final class FilterParameter implements Immutable {
private static final URI CAPABILITY = URI.create("urn:ietf:params:restconf:capability:filter:1.0");
- // FIXME: can we have a parsed, but not bound version of an XPath, please?
- private final String value;
+ private final YangXPathExpression value;
- private FilterParameter(final String value) {
+ private FilterParameter(final YangXPathExpression value) {
this.value = requireNonNull(value);
}
- public static FilterParameter forUriValue(final String uriValue) {
- return new FilterParameter(uriValue);
+ public static FilterParameter forUriValue(final YangXPathParserFactory parserFactory, final String uriValue)
+ throws XPathExpressionException {
+ return new FilterParameter(parserFactory.newParser(YangXPathMathMode.EXACT).parseExpression(uriValue));
}
- public static String uriName() {
- return "filter";
+ public YangXPathExpression value() {
+ return value;
}
- public String uriValue() {
- return value;
+ public static String uriName() {
+ return "filter";
}
public static URI capabilityUri() {