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())
Requires that all of a list of Requirements hold.
virtual void Reset() override
Reset all Requirements.
virtual void ClearNotices() override
Clear lists of notices for all Requirements.
RequireList reqs_
List of Requirements.
AllOfRequirement()
Constructor.
virtual void Parse(Value json, const std::string &path) override
Parse JSON value and add all loaded Requirements.
virtual void Validate(const Value &json, const std::string &path) override
Validate that all Requirements are met.
virtual void ClearErrors() override
Clear lists of errors for all Requirements.
Helper class to load Requirement.
std::unique_ptr< Requirement > LoadRequirement(const Value &json)
Load specific requirement.
Requirements on input files.
void PushNotice(const std::string ¬ice)
Add message to list of notices.
virtual void ClearNotices()
Clear list of notice messages.
virtual void ClearErrors()
Clear list of error messages.
void PushError(const std::string &error)
Add error to list of error messages.
std::vector< std::unique_ptr< Requirement > > RequireList
List of Requirements.