org.testng.xml.XmlGroups Maven / Gradle / Ivy
package org.testng.xml;
import org.testng.collections.Lists;
import org.testng.reporters.XMLStringBuffer;
import org.testng.xml.dom.Tag;
import java.util.List;
import static org.testng.collections.CollectionUtils.hasElements;
public class XmlGroups {
private List m_defines = Lists.newArrayList();
private XmlRun m_run;
private List m_dependencies = Lists.newArrayList();
public List getDefines() {
return m_defines;
}
@Tag(name = "define")
public void addDefine(XmlDefine define) {
getDefines().add(define);
}
public void setDefines(List defines) {
m_defines = defines;
}
public XmlRun getRun() {
return m_run;
}
public void setRun(XmlRun run) {
m_run = run;
}
public List getDependencies() {
return m_dependencies;
}
// public void setDependencies(List dependencies) {
// m_dependencies = dependencies;
// }
@Tag(name = "dependencies")
public void setXmlDependencies(XmlDependencies dependencies) {
m_dependencies.add(dependencies);
}
public String toXml(String indent) {
XMLStringBuffer xsb = new XMLStringBuffer(indent);
String indent2 = indent + " ";
boolean hasGroups = hasElements(m_defines) || m_run != null || hasElements(m_dependencies);
if (hasGroups) {
xsb.push("groups");
}
for (XmlDefine d : m_defines) {
xsb.getStringBuffer().append(d.toXml(indent2));
}
if (null != m_run) {
// XmlRun is optional and is not always available. So check if its available before running
// toXml()
xsb.getStringBuffer().append(m_run.toXml(indent2));
}
for (XmlDependencies d : m_dependencies) {
xsb.getStringBuffer().append(d.toXml(indent2));
}
if (hasGroups) {
xsb.pop("groups");
}
return xsb.toXML();
}
}