/** * Gets the child elements matching the specified name. * <p> * This returns all the child elements with the specified name. * * @param childName the name to match * @return the children matching the name */ public Stream<XmlElement> streamChildren(String childName) { return children.stream().filter(child -> child.getName().equals(childName)); }
/** * Returns a string summary of the element. * <p> * The string form includes the attributes and content, but summarizes the child elements. * * @return the string form */ @Override public String toString() { StringBuilder buf = new StringBuilder(512); buf.append('<').append(name); for (Entry<String, String> entry : attributes.entrySet()) { buf.append(' ').append(entry.getKey()).append('=').append('"').append(entry.getValue()).append('"'); } buf.append('>'); if (children.isEmpty()) { buf.append(content); } else { for (XmlElement child : children) { buf.append(System.lineSeparator()).append(" <").append(child.getName()).append(" ... />"); } buf.append(System.lineSeparator()); } buf.append("</").append(name).append('>'); return buf.toString(); }
fakeChildren.addAll(el.getChildren("party")); fakeChildren.addAll(child.getChildren("trade")); XmlElement fakeRoot = XmlElement.ofChildren(el.getName(), el.getAttributes(), fakeChildren); return fakeRoot; fakeChildren.addAll(el.getChildren("party")); fakeChildren.addAll(grandchild.getChildren("trade")); XmlElement fakeRoot = XmlElement.ofChildren(el.getName(), el.getAttributes(), fakeChildren); return fakeRoot;
public void test_of_ByteSource() { ByteSource source = ByteSource.wrap(SAMPLE.getBytes(StandardCharsets.UTF_8)); XmlFile test = XmlFile.of(source); XmlElement root = test.getRoot(); assertEquals(root.getName(), "base"); assertEquals(root.getAttributes(), ATTR_MAP_EMPTY); assertEquals(root.getContent(), ""); assertEquals(root.getChildren().size(), 1); XmlElement child = root.getChild(0); assertEquals(child, XmlElement.ofChildren("test", ATTR_MAP, CHILD_LIST_MULTI)); assertEquals(test.getReferences(), ImmutableMap.of()); }
public void test_of_ByteSource_namespace() { ByteSource source = ByteSource.wrap(SAMPLE_NAMESPACE.getBytes(StandardCharsets.UTF_8)); XmlFile test = XmlFile.of(source); XmlElement root = test.getRoot(); assertEquals(root.getName(), "base"); assertEquals(root.getAttributes(), ImmutableMap.of()); assertEquals(root.getContent(), ""); assertEquals(root.getChildren().size(), 2); XmlElement child1 = root.getChild(0); assertEquals(child1.getName(), "p"); assertEquals(child1.getContent(), "Some text"); assertEquals(child1.getAttributes(), ImmutableMap.of()); XmlElement child2 = root.getChild(1); assertEquals(child2.getName(), "leaf1"); assertEquals(child2.getContent(), "leaf"); assertEquals(child2.getAttributes(), ImmutableMap.of("foo", "bla", "og", "strata")); assertEquals(test.getReferences(), ImmutableMap.of()); }
public void test_ofChildren_one() { XmlElement test = XmlElement.ofChildren("test", ATTR_MAP, CHILD_LIST_ONE); assertEquals(test.getName(), "test"); assertEquals(test.getAttributes(), ATTR_MAP); assertEquals(test.hasContent(), false); assertEquals(test.getContent(), ""); assertEquals(test.getChildren(), CHILD_LIST_ONE); assertEquals(test.getAttribute("key"), "value"); assertEquals(test.findAttribute("key"), Optional.of("value")); assertEquals(test.findAttribute("none"), Optional.empty()); assertEquals(test.getChild(0), LEAF1); assertEquals(test.getChild("leaf1"), LEAF1); assertEquals(test.findChild("leaf1"), Optional.of(LEAF1)); assertEquals(test.getChildren("leaf1"), ImmutableList.of(LEAF1)); assertEquals(test.toString(), "<test key=\"value\" og=\"strata\">" + System.lineSeparator() + " <leaf1 ... />" + System.lineSeparator() + "</test>"); }
public void test_of_ByteSource_parsedReferences() { ByteSource source = ByteSource.wrap(SAMPLE.getBytes(StandardCharsets.UTF_8)); XmlFile test = XmlFile.of(source, "key"); XmlElement root = test.getRoot(); assertEquals(root.getName(), "base"); assertEquals(root.getAttributes(), ATTR_MAP_EMPTY); assertEquals(root.getContent(), ""); assertEquals(root.getChildren().size(), 1); XmlElement child = root.getChild(0); assertEquals(child, XmlElement.ofChildren("test", ATTR_MAP, CHILD_LIST_MULTI)); assertEquals(test.getReferences(), ImmutableMap.of("value", root.getChild(0))); }
public void test_ofChildren_multi() { XmlElement test = XmlElement.ofChildren("test", ATTR_MAP, CHILD_LIST_MULTI); assertEquals(test.getName(), "test"); assertEquals(test.getAttributes(), ATTR_MAP); assertEquals(test.getAttribute("key"), "value"); assertEquals(test.hasContent(), false); assertEquals(test.getContent(), ""); assertEquals(test.getChildren(), CHILD_LIST_MULTI); assertEquals(test.getAttribute("key"), "value"); assertEquals(test.getChild(0), LEAF1); assertEquals(test.getChild(1), LEAF2A); assertEquals(test.getChild(2), LEAF2B); assertEquals(test.getChild("leaf1"), LEAF1); assertThrowsIllegalArg(() -> test.getChild("leaf2")); assertEquals(test.findChild("leaf1"), Optional.of(LEAF1)); assertThrowsIllegalArg(() -> test.findChild("leaf2")); assertEquals(test.getChildren("leaf1"), ImmutableList.of(LEAF1)); assertEquals(test.getChildren("leaf2"), ImmutableList.of(LEAF2A, LEAF2B)); }
public void test_ofContent() { XmlElement test = XmlElement.ofContent("test", ATTR_MAP_EMPTY, "hello"); assertEquals(test.getName(), "test"); assertEquals(test.getAttributes(), ATTR_MAP_EMPTY); assertEquals(test.hasContent(), true); assertEquals(test.getContent(), "hello"); assertEquals(test.getChildren(), CHILD_LIST_EMPTY); assertThrowsIllegalArg(() -> test.getAttribute("notFound")); assertThrows(() -> test.getChild(0), IndexOutOfBoundsException.class); assertThrowsIllegalArg(() -> test.getChild("notFound")); assertEquals(test.findChild("notFound"), Optional.empty()); assertEquals(test.getChildren("notFound"), ImmutableList.of()); assertEquals(test.toString(), "<test>hello</test>"); }
public void test_ofContent_empty() { XmlElement test = XmlElement.ofContent("test", ""); assertEquals(test.getName(), "test"); assertEquals(test.getAttributes(), ATTR_MAP_EMPTY); assertEquals(test.hasContent(), false); assertEquals(test.getContent(), ""); assertEquals(test.getChildren(), CHILD_LIST_EMPTY); assertThrowsIllegalArg(() -> test.getAttribute("notFound")); assertThrows(() -> test.getChild(0), IndexOutOfBoundsException.class); assertThrowsIllegalArg(() -> test.getChild("notFound")); assertEquals(test.findChild("notFound"), Optional.empty()); assertEquals(test.getChildren("notFound"), ImmutableList.of()); assertEquals(test.toString(), "<test></test>"); }
public void test_ofChildren_empty() { XmlElement test = XmlElement.ofChildren("test", CHILD_LIST_EMPTY); assertEquals(test.getName(), "test"); assertEquals(test.getAttributes(), ATTR_MAP_EMPTY); assertEquals(test.hasContent(), false); assertEquals(test.getContent(), ""); assertEquals(test.getChildren(), CHILD_LIST_EMPTY); assertThrowsIllegalArg(() -> test.getAttribute("notFound")); assertThrows(() -> test.getChild(0), IndexOutOfBoundsException.class); assertThrowsIllegalArg(() -> test.getChild("notFound")); assertEquals(test.findChild("notFound"), Optional.empty()); assertEquals(test.getChildren("notFound"), ImmutableList.of()); assertEquals(test.toString(), "<test></test>"); }
if (relativeToEl.hasContent()) { baseDate = parseDate(relativeToEl); } else if (relativeToEl.getName().contains("relative")) { baseDate = parseAdjustedRelativeDateOffset(relativeToEl).getUnadjusted(); } else {