From 3e2786a004eddf968a5fa7d5a92dff5b1b5f7734 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 24 Feb 2016 08:16:16 +0000 Subject: Create internal package --- .../java/org/zwobble/mammoth/xml/XmlElement.java | 89 ---------------------- 1 file changed, 89 deletions(-) delete mode 100644 src/main/java/org/zwobble/mammoth/xml/XmlElement.java (limited to 'src/main/java/org/zwobble/mammoth/xml/XmlElement.java') diff --git a/src/main/java/org/zwobble/mammoth/xml/XmlElement.java b/src/main/java/org/zwobble/mammoth/xml/XmlElement.java deleted file mode 100644 index cf1dc67..0000000 --- a/src/main/java/org/zwobble/mammoth/xml/XmlElement.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.zwobble.mammoth.xml; - -import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableList; - -import java.util.List; -import java.util.Map; -import java.util.Optional; - -import static com.google.common.collect.Iterables.*; - -public class XmlElement implements XmlNode, XmlElementLike { - private final String name; - private final Map attributes; - private final List children; - - public XmlElement(String name, Map attributes, List children) { - this.name = name; - this.attributes = attributes; - this.children = children; - } - - public String getName() { - return name; - } - - public Map getAttributes() { - return attributes; - } - - public String getAttribute(String name) { - // TODO: throw more informative error message - return getAttributeOrNone(name).get(); - } - - @Override - public Optional getAttributeOrNone(String name) { - return Optional.ofNullable(attributes.get(name)); - } - - public List getChildren() { - return children; - } - - @Override - public String innerText() { - return Joiner.on("").join(transform(children, XmlNode::innerText)); - } - - @Override - public T accept(XmlNodeVisitor visitor) { - return visitor.visit(this); - } - - public Iterable children() { - return children; - } - - @Override - public String toString() { - return "XmlElement(name=" + name + ", attributes=" + attributes - + ", children=" + children + ")"; - } - - public XmlElementList findChildren(String name) { - Iterable filtered = findChildrenIterable(name); - return new XmlElementList(ImmutableList.copyOf(filtered)); - } - - public XmlElement findChild(String name) { - return findChildrenIterable(name).iterator().next(); - } - - @Override - public boolean hasChild(String name) { - return findChildrenIterable(name).iterator().hasNext(); - } - - @Override - public XmlElementLike findChildOrEmpty(String name) { - return getFirst(findChildrenIterable(name), NullXmlElement.INSTANCE); - } - - private Iterable findChildrenIterable(String name) { - return filter( - filter(children, XmlElement.class), - child -> child.getName().equals(name)); - } -} -- cgit v1.2.3