/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2020-09-30 * Changed: 2021-07-16 * * */ #include #include ls_std::XmlDocument::XmlDocument() : ls_std::Class("XmlDocument") {} std::shared_ptr ls_std::XmlDocument::getDeclaration() { return this->declaration; } std::shared_ptr ls_std::XmlDocument::getRootElement() { return this->rootElement; } void ls_std::XmlDocument::setDeclaration(const std::shared_ptr &_declaration) { this->_assignDeclaration(_declaration); } void ls_std::XmlDocument::setRootElement(const std::shared_ptr &_rootElement) { this->_assignRootElement(_rootElement); } std::string ls_std::XmlDocument::toXml() { std::string xmlString{}; if (this->declaration != nullptr) { xmlString = this->declaration->toXml(); if (!xmlString.empty()) { xmlString += "\n"; } } return xmlString + this->rootElement->toXml(); } void ls_std::XmlDocument::_assignDeclaration(const std::shared_ptr &_declaration) { if (_declaration == nullptr) { throw ls_std::IllegalArgumentException{}; } this->declaration = _declaration; } void ls_std::XmlDocument::_assignRootElement(const std::shared_ptr &_rootElement) { if (_rootElement == nullptr) { throw ls_std::IllegalArgumentException{}; } this->rootElement = _rootElement; }