Harmony
HARMONic stabilitY assessment of PE-penetrated power systems
Loading...
Searching...
No Matches
json_validator.h
Go to the documentation of this file.
1#pragma once
2
3#include <nlohmann/json.hpp>
4#include <set>
5#include <string>
6
7#include "json_parameters.h"
8
9using JSON = nlohmann::json;
10
17public:
18 static void validateRoot(const JSON& root);
19 static void validateSimulation(const JSON& sim);
20 static void validateBus(const JSON& bus, unsigned index);
21 static void validateComponent(const JSON& comp, unsigned index, const JsonParameterTable& rootParams);
22 static void validateComputation(const JSON& calc, unsigned index);
23
24private:
25 static void requireObject(const JSON& j, const char* context);
26 static void rejectUnknownKeys(const JSON& j, const std::set<std::string>& allowed, const char* context);
27 static void validateByType(const JSON& comp, const std::string& type, const JsonParameterTable& params);
28};
RCP< const Basic > j
Imaginary unit j.
Definition Symbolic_functions.cpp:9
Lookup table for "parameters": { "name": number } at simulation or component scope.
Definition json_parameters.h:18
Definition json_validator.h:16
static void validateRoot(const JSON &root)
Definition json_validator.cpp:114
static void validateSimulation(const JSON &sim)
Definition json_validator.cpp:156
static void validateComponent(const JSON &comp, unsigned index, const JsonParameterTable &rootParams)
Definition json_validator.cpp:321
static void validateComputation(const JSON &calc, unsigned index)
Definition json_validator.cpp:345
static void validateBus(const JSON &bus, unsigned index)
Definition json_validator.cpp:165
nlohmann::json JSON
Definition component_builder.h:6
Named numeric parameters for JSON simulation files (Type A indirection).
nlohmann::json JSON
Definition json_validator.h:9