/** * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * * The version of the OpenAPI document: 1.0.0-rc.59 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ #include "Plot.h" #include "Helpers.h" #include namespace org::openapitools::server::model { Plot::Plot() { m_Title = ""; m_zIsSet = false; } void Plot::validate() const { std::stringstream msg; if (!validate(msg)) { throw org::openapitools::server::helpers::ValidationException(msg.str()); } } bool Plot::validate(std::stringstream& msg) const { return validate(msg, ""); } bool Plot::validate(std::stringstream& msg, const std::string& pathPrefix) const { bool success = true; const std::string _pathPrefix = pathPrefix.empty() ? "Plot" : pathPrefix; /* x */ { const std::vector& value = m_x; const std::string currentValuePath = _pathPrefix + ".X"; { // Recursive validation of array elements const std::string oldValuePath = currentValuePath; int i = 0; for (const float& value : value) { const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]"; i++; } } } /* y */ { const std::vector& value = m_y; const std::string currentValuePath = _pathPrefix + ".Y"; { // Recursive validation of array elements const std::string oldValuePath = currentValuePath; int i = 0; for (const float& value : value) { const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]"; i++; } } } if (ZIsSet()) { const std::vector& value = m_z; const std::string currentValuePath = _pathPrefix + ".Z"; { // Recursive validation of array elements const std::string oldValuePath = currentValuePath; int i = 0; for (const float& value : value) { const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]"; i++; } } } return success; } bool Plot::operator==(const Plot& rhs) const { return (getTitle() == rhs.getTitle()) && (getX() == rhs.getX()) && (getY() == rhs.getY()) && ((!ZIsSet() && !rhs.ZIsSet()) || (ZIsSet() && rhs.ZIsSet() && getZ() == rhs.getZ())) ; } bool Plot::operator!=(const Plot& rhs) const { return !(*this == rhs); } void to_json(nlohmann::json& j, const Plot& o) { j = nlohmann::json::object(); j["title"] = o.m_Title; j["x"] = o.m_x; j["y"] = o.m_y; if(o.ZIsSet() || !o.m_z.empty()) j["z"] = o.m_z; } void from_json(const nlohmann::json& j, Plot& o) { j.at("title").get_to(o.m_Title); j.at("x").get_to(o.m_x); j.at("y").get_to(o.m_y); if(j.find("z") != j.end()) { j.at("z").get_to(o.m_z); o.m_zIsSet = true; } } std::string Plot::getTitle() const { return m_Title; } void Plot::setTitle(std::string const& value) { m_Title = value; } std::vector Plot::getX() const { return m_x; } void Plot::setX(std::vector const value) { m_x = value; } std::vector Plot::getY() const { return m_y; } void Plot::setY(std::vector const value) { m_y = value; } std::vector Plot::getZ() const { return m_z; } void Plot::setZ(std::vector const value) { m_z = value; m_zIsSet = true; } bool Plot::ZIsSet() const { return m_zIsSet; } void Plot::unsetz() { m_zIsSet = false; } } // namespace org::openapitools::server::model