@Override public void writeXML(final Document document, final Element currentElement, final String outputFolder) { Element xmlPage = document.createElement(XML_TAG_NAME); super.writeXML(document, xmlPage, outputFolder); Page thePage = (Page) this.element; xmlPage.setAttribute(XML_ATTRIBUTE_THINK_TIME, Integer.toString(thePage.getThinkTime())); xmlPage.setAttribute(XML_ATTRIBUTE_EXECUTE_RESOURCES_DYNAMICALLY, Boolean.toString(thePage.isDynamic())); currentElement.appendChild(xmlPage); thePage.getChilds().forEach(pageElem -> { WriterUtils.generateEmbeddedAction(document, xmlPage, pageElem); WriterUtils.<ElementWriter>getWriterFor(pageElem).writeXML(document, currentElement, outputFolder); }); } }
private void from(Object object) { if (object instanceof Page) { Page instance = (Page) object; thinkTime(instance.getThinkTime()); addAllChilds(instance.getChilds()); isDynamic(instance.isDynamic()); } if (object instanceof Element) { Element instance = (Element) object; name(instance.getName()); Optional<String> descriptionOptional = instance.getDescription(); if (descriptionOptional.isPresent()) { description(descriptionOptional); } } }
@Override default Stream<Element> flattened() { return Stream.concat(Stream.of(this), getChilds().stream().flatMap(Element::flattened)); } }