@Override public AstElement copyOf() { return new DescendantNodeImpl(selectorName, ancestorPath); } }
@Override public boolean visit(DescendantNodeImpl node) { node.setQuery(query); node.bindSelector(source); return true; }
@Override public void restrict(FilterImpl f) { if (f.getSelector().equals(selector)) { String path = normalizePath(ancestorPath); f.restrictPath(path, Filter.PathRestriction.ALL_CHILDREN); } }
@Override public boolean evaluate() { if (selector.isVirtualRow()) { return true; } String p = selector.currentPath(); if (p == null) { return false; } String path = normalizePath(ancestorPath); if (path == null) { return false; } return PathUtils.isAncestor(path, p); }
@Override public boolean visit(DescendantNodeImpl node) { node.setQuery(query); node.bindSelector(source); return true; }
@Override public void restrict(FilterImpl f) { if (f.getSelector().equals(selector)) { String path = normalizePath(ancestorPath); f.restrictPath(path, Filter.PathRestriction.ALL_CHILDREN); } }
@Override public AstElement copyOf() { return new DescendantNodeImpl(selectorName, ancestorPath); } }
@Override public boolean visit(DescendantNodeImpl node) { node.setQuery(query); node.bindSelector(source); return true; }
@Override public void restrict(FilterImpl f) { if (f.getSelector().equals(selector)) { String path = normalizePath(ancestorPath); f.restrictPath(path, Filter.PathRestriction.ALL_CHILDREN); } }
@Override public AstElement copyOf() { return new DescendantNodeImpl(selectorName, ancestorPath); } }
@Override public boolean evaluate() { if (selector.isVirtualRow()) { return true; } String p = selector.currentPath(); if (p == null) { return false; } String path = normalizePath(ancestorPath); if (path == null) { return false; } return PathUtils.isAncestor(path, p); }
public DescendantNodeImpl descendantNode(String selectorName, String path) { return new DescendantNodeImpl(selectorName, path); }
@Override public boolean evaluate() { if (selector.isVirtualRow()) { return true; } String p = selector.currentPath(); if (p == null) { return false; } String path = normalizePath(ancestorPath); if (path == null) { return false; } return PathUtils.isAncestor(path, p); }
public DescendantNodeImpl descendantNode(String selectorName, String path) { return new DescendantNodeImpl(selectorName, path); }
public DescendantNodeImpl descendantNode(String selectorName, String path) { return new DescendantNodeImpl(selectorName, path); }