28 #include "Requirement.h"
29 #include "RequirementLoader.h"
81 virtual void Parse(Value json,
const std::string& path)
override
86 auto& head = json.isMember(
"allOf") ? json[
"allOf"] : json;
91 reqs_.push_back(std::move(req));
92 reqs_.back()->Parse(val, path);
102 virtual void Validate(
const Value& json,
const std::string& path)
override
106 r->Validate(json, path);
109 for(
const auto& error : r->GetErrors())
113 for(
const auto& notice : r->GetNotices())
virtual void Reset() override
Reset all Requirements.
virtual void ClearErrors() override
Clear lists of errors for all Requirements.
void PushError(const std::string &error)
Add error to list of error messages.
virtual void Parse(Value json, const std::string &path) override
Parse JSON value and add all loaded Requirements.
RequireList reqs_
List of Requirements.
virtual void ClearErrors()
Clear list of error messages.
std::unique_ptr< Requirement > LoadRequirement(const Value &json)
Load specific requirement.
Requires that all of a list of Requirements hold.
virtual void ClearNotices() override
Clear lists of notices for all Requirements.
Helper class to load Requirement.
AllOfRequirement()
Constructor.
virtual void ClearNotices()
Clear list of notice messages.
Requirements on input files.
std::vector< std::unique_ptr< Requirement >> RequireList
List of Requirements.
virtual void Validate(const Value &json, const std::string &path) override
Validate that all Requirements are met.
void PushNotice(const std::string ¬ice)
Add message to list of notices.