return EmptyIterator.OfNodes.THE_INSTANCE; return new Navigator.AxisFilter( new Navigator.AncestorEnumeration(this, false), nodeTest); return Navigator.filteredSingleton(this, nodeTest); return new Navigator.AxisFilter( new Navigator.AncestorEnumeration(this, true), nodeTest); return new Navigator.AxisFilter( new Navigator.FollowingEnumeration(this), nodeTest); return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, false), nodeTest); return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, true), nodeTest);
return EmptyIterator.OfNodes.THE_INSTANCE; return new Navigator.AxisFilter( new Navigator.AncestorEnumeration(this, false), nodeTest); return Navigator.filteredSingleton(this, nodeTest); return new Navigator.AxisFilter( new Navigator.AncestorEnumeration(this, true), nodeTest); return new Navigator.AxisFilter( new Navigator.FollowingEnumeration(this), nodeTest); return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, false), nodeTest); return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, true), nodeTest);
return new Navigator.AxisFilter( new AttributeAxisIterator(this, nodeTest), nodeTest);
return new Navigator.AxisFilter( new Navigator.AncestorEnumeration(this, false), nodeTest); case AxisInfo.ANCESTOR_OR_SELF: return new Navigator.AxisFilter( new Navigator.AncestorEnumeration(this, true), nodeTest); case AxisInfo.NAMESPACE: return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, false), nodeTest); case AxisInfo.FOLLOWING: return new Navigator.AxisFilter( new Navigator.FollowingEnumeration(this), nodeTest); case AxisInfo.PRECEDING_OR_ANCESTOR: return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, true), nodeTest);
this, axisNumber == AxisInfo.DESCENDANT_OR_SELF, true); if (!(nodeTest instanceof AnyNodeTest)) { iter = new Navigator.AxisFilter(iter, nodeTest);
return new Navigator.AxisFilter( new Navigator.FollowingEnumeration(this), nodeTest); return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, false), nodeTest); return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, true), nodeTest);
return new Navigator.AxisFilter( new Navigator.AncestorEnumeration(this, false), nodeTest); case AxisInfo.ANCESTOR_OR_SELF: return new Navigator.AxisFilter( new Navigator.AncestorEnumeration(this, true), nodeTest); case AxisInfo.NAMESPACE: return Navigator.filteredSingleton(getParent(), nodeTest); case AxisInfo.PRECEDING: return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, false), nodeTest); case AxisInfo.FOLLOWING: return new Navigator.AxisFilter( new Navigator.FollowingEnumeration(this), nodeTest); case AxisInfo.PRECEDING_OR_ANCESTOR: return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, true), nodeTest);
return new Navigator.AxisFilter( new Navigator.FollowingEnumeration(this), nodeTest); return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, false), nodeTest); return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, true), nodeTest);
return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, true), nodeTest); return new Navigator.AxisFilter( new PrependAxisIterator(this, getParent().iterateAxis(AxisInfo.ANCESTOR_OR_SELF)), nodeTest); return new Navigator.AxisFilter( new Navigator.FollowingEnumeration(this), nodeTest); return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, false), nodeTest);
this, axisNumber == AxisInfo.DESCENDANT_OR_SELF, true); if (!(nodeTest instanceof AnyNodeTest)) { iter = new Navigator.AxisFilter(iter, nodeTest);
return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, true), nodeTest); return new Navigator.AxisFilter( new PrependAxisIterator(this, getParent().iterateAxis(AxisInfo.ANCESTOR_OR_SELF)), nodeTest); return new Navigator.AxisFilter( new Navigator.FollowingEnumeration(this), nodeTest); return new Navigator.AxisFilter( new Navigator.PrecedingEnumeration(this, false), nodeTest);
/** * Return an iterator over the descendants of this node. * This method is only called after checking that the node is an element or document node. * * @param nodeTest a test that the returned descendants must satisfy * @param includeSelf true if this node is to be included in the result * @return an iterator over the sibling nodes, in axis order. */ protected AxisIterator iterateDescendants(NodeTest nodeTest, boolean includeSelf) { AxisIterator iter = new Navigator.DescendantEnumeration(this, includeSelf, true); if (!(nodeTest instanceof AnyNodeTest)) { iter = new Navigator.AxisFilter(iter, nodeTest); } return iter; }
/** * Determines axis iteration algorithm. * @param axisNumber element from {@code AxisInfo} * @param nodeTest filter for iterator * @return {@code AxisIterator} object */ @Override public AxisIterator iterateAxis(byte axisNumber, NodeTest nodeTest) { AxisIterator axisIterator = iterateAxis(axisNumber); if (nodeTest != null) { axisIterator = new Navigator.AxisFilter(axisIterator, nodeTest); } return axisIterator; }
/** * Return an iterator over the descendants of this node. * This method is only called after checking that the node is an element or document node. * * @param nodeTest a test that the returned descendants must satisfy * @param includeSelf true if this node is to be included in the result * @return an iterator over the sibling nodes, in axis order. */ protected AxisIterator iterateDescendants(NodeTest nodeTest, boolean includeSelf) { AxisIterator iter = new Navigator.DescendantEnumeration(this, includeSelf, true); if (!(nodeTest instanceof AnyNodeTest)) { iter = new Navigator.AxisFilter(iter, nodeTest); } return iter; }
@Override protected AxisIterator iterateSiblings(NodeTest nodeTest, boolean forwards) { return new Navigator.AxisFilter( new ChildAxisIterator(this, false, forwards, nodeTest), nodeTest); }
@Override protected AxisIterator iterateAttributes(NodeTest nodeTest) { return new Navigator.AxisFilter( new AttributeAxisIterator(this, nodeTest), nodeTest); }
@Override protected AxisIterator iterateSiblings(NodeTest nodeTest, boolean forwards) { boolean elementOnly = nodeTest.getUType() == UType.ELEMENT; AxisIterator iter = new Navigator.EmptyTextFilter( new ChildEnumeration(this, false, forwards, elementOnly)); if (nodeTest != AnyNodeTest.getInstance()) { iter = new Navigator.AxisFilter(iter, nodeTest); } return iter; }
@Override protected AxisIterator iterateChildren(NodeTest nodeTest) { boolean elementOnly = nodeTest.getUType() == UType.ELEMENT; AxisIterator iter = new Navigator.EmptyTextFilter( new ChildEnumeration(this, true, true, elementOnly)); if (nodeTest != AnyNodeTest.getInstance()) { iter = new Navigator.AxisFilter(iter, nodeTest); } return iter; }
@Override protected AxisIterator iterateChildren(NodeTest nodeTest) { if (hasChildNodes()) { return new Navigator.AxisFilter( new ChildAxisIterator(this, true, true, nodeTest), nodeTest); } else { return EmptyIterator.OfNodes.THE_INSTANCE; } }
@Override protected AxisIterator iterateChildren(NodeTest nodeTest) { if (hasChildNodes()) { return new Navigator.AxisFilter( new ChildAxisIterator(this, true, true, nodeTest), nodeTest); } else { return EmptyIterator.OfNodes.THE_INSTANCE; } }