From ea5bdb1500aab5a1fcba43518b1aa10cffd94a30 Mon Sep 17 00:00:00 2001 From: Alex Simkin Date: Mon, 28 May 2018 13:51:22 +1000 Subject: [PATCH] NodeSetView tidy up --- .../github/simy4/xpath/expr/Attribute.java | 2 +- .../com/github/simy4/xpath/expr/Element.java | 2 +- .../github/simy4/xpath/view/NodeSetView.java | 19 ++++++++----------- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/expr/Attribute.java b/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/expr/Attribute.java index b716d284..da0f811e 100644 --- a/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/expr/Attribute.java +++ b/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/expr/Attribute.java @@ -32,7 +32,7 @@ public Attribute(QName attribute, Iterable predicates) { IterableNodeView resolveStep(ViewContext context) throws XmlBuilderException { final Navigator navigator = context.getNavigator(); final N parentNode = context.getCurrent().getNode(); - IterableNodeView result = NodeSetView.filtered(navigator.attributesOf(parentNode), filter); + IterableNodeView result = new NodeSetView(navigator.attributesOf(parentNode), filter); if (context.isGreedy() && !context.hasNext() && !result.toBoolean()) { result = createStepNode(context); } diff --git a/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/expr/Element.java b/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/expr/Element.java index ad94b846..a22eb661 100644 --- a/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/expr/Element.java +++ b/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/expr/Element.java @@ -32,7 +32,7 @@ public Element(QName element, Iterable predicates) { IterableNodeView resolveStep(ViewContext context) throws XmlBuilderException { final Navigator navigator = context.getNavigator(); final N parentNode = context.getCurrent().getNode(); - IterableNodeView result = NodeSetView.filtered(navigator.elementsOf(parentNode), filter); + IterableNodeView result = new NodeSetView(navigator.elementsOf(parentNode), filter); if (context.isGreedy() && !context.hasNext() && !result.toBoolean()) { result = createStepNode(context); } diff --git a/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/view/NodeSetView.java b/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/view/NodeSetView.java index 26965104..1768e3d8 100644 --- a/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/view/NodeSetView.java +++ b/xpath-to-xml-core/src/main/java/com/github/simy4/xpath/view/NodeSetView.java @@ -21,27 +21,24 @@ public static NodeSetView empty() { return (NodeSetView) EMPTY_NODE_SET; } + private final Iterable> nodeSet; + /** - * Creates filtered node view from given nodes and predicate. + * Creates NodeSetView from given nodes and predicate. * * @param nodes nodes to wap in a view * @param predicate predicate to apply to nodes - * @param XML model type - * @return newly created node set view */ - public static NodeSetView filtered(final Iterable nodes, - final Predicate predicate) { - return new NodeSetView(new Iterable>() { + public NodeSetView(final Iterable nodes, final Predicate predicate) { + this(new Iterable>() { @Override - public Iterator> iterator() { - return new TransformingIterator>( - new FilteringIterator(nodes.iterator(), predicate), new NodeWrapper()); + public Iterator> iterator() { + return new TransformingIterator>(new FilteringIterator(nodes.iterator(), predicate), + new NodeWrapper()); } }); } - private final Iterable> nodeSet; - public NodeSetView(Iterable> nodeSet) { this.nodeSet = nodeSet; }