Fawkes API  Fawkes Development Version
DomainPreconditionCompound Class Reference

DomainPreconditionCompound representation for JSON transfer. More...

#include <DomainPreconditionCompound.h>

Inheritance diagram for DomainPreconditionCompound:

Public Member Functions

 DomainPreconditionCompound ()
 Constructor. More...
 
 DomainPreconditionCompound (const std::string &json)
 Constructor from JSON. More...
 
 DomainPreconditionCompound (const rapidjson::Value &v)
 Constructor from JSON. More...
 
virtual ~DomainPreconditionCompound ()
 Destructor. More...
 
virtual std::string to_json (bool pretty=false) const
 Render object to JSON. More...
 
virtual void to_json_value (rapidjson::Document &d, rapidjson::Value &v) const
 Render object to JSON. More...
 
virtual void from_json (const std::string &json)
 Retrieve data from JSON string. More...
 
virtual void from_json_value (const rapidjson::Value &v)
 Retrieve data from JSON string. More...
 
virtual void validate (bool subcall=false) const
 Validate if all required fields have been set. More...
 
std::vector< std::shared_ptr< DomainPrecondition > > elements () const
 Get elements value. More...
 
void set_elements (const std::vector< std::shared_ptr< DomainPrecondition >> &elements)
 Set elements value. More...
 
void addto_elements (const std::shared_ptr< DomainPrecondition > &&elements)
 Add element to elements array. More...
 
void addto_elements (const std::shared_ptr< DomainPrecondition > &elements)
 Add element to elements array. More...
 
void addto_elements (const DomainPrecondition &&elements)
 Add element to elements array. More...
 
- Public Member Functions inherited from DomainPrecondition
 DomainPrecondition ()
 Constructor. More...
 
 DomainPrecondition (const std::string &json)
 Constructor from JSON. More...
 
 DomainPrecondition (const rapidjson::Value &v)
 Constructor from JSON. More...
 
virtual ~DomainPrecondition ()
 Destructor. More...
 
std::optional< std::string > kind () const
 Get kind value. More...
 
void set_kind (const std::string &kind)
 Set kind value. More...
 
std::optional< std::string > apiVersion () const
 Get apiVersion value. More...
 
void set_apiVersion (const std::string &apiVersion)
 Set apiVersion value. More...
 
std::optional< std::string > name () const
 Get name value. More...
 
void set_name (const std::string &name)
 Set name value. More...
 
std::optional< std::string > type () const
 Get type value. More...
 
void set_type (const std::string &type)
 Set type value. More...
 
std::optional< bool > grounded () const
 Get grounded value. More...
 
void set_grounded (const bool &grounded)
 Set grounded value. More...
 
std::optional< bool > is_satisfied () const
 Get is-satisfied value. More...
 
void set_is_satisfied (const bool &is_satisfied)
 Set is-satisfied value. More...
 

Static Public Member Functions

static std::string api_version ()
 Get version of implemented API. More...
 
- Static Public Member Functions inherited from DomainPrecondition
static std::string api_version ()
 Get version of implemented API. More...
 

Detailed Description

DomainPreconditionCompound representation for JSON transfer.

Definition at line 27 of file DomainPreconditionCompound.h.

Constructor & Destructor Documentation

◆ DomainPreconditionCompound() [1/3]

DomainPreconditionCompound::DomainPreconditionCompound ( )

Constructor.

Definition at line 22 of file DomainPreconditionCompound.cpp.

◆ DomainPreconditionCompound() [2/3]

DomainPreconditionCompound::DomainPreconditionCompound ( const std::string &  json)

Constructor from JSON.

Parameters
jsonJSON string to initialize from

Definition at line 26 of file DomainPreconditionCompound.cpp.

References from_json().

◆ DomainPreconditionCompound() [3/3]

DomainPreconditionCompound::DomainPreconditionCompound ( const rapidjson::Value &  v)

Constructor from JSON.

Parameters
vRapidJSON value object to initialize from.

Definition at line 31 of file DomainPreconditionCompound.cpp.

References from_json_value().

◆ ~DomainPreconditionCompound()

DomainPreconditionCompound::~DomainPreconditionCompound ( )
virtual

Destructor.

Definition at line 36 of file DomainPreconditionCompound.cpp.

Member Function Documentation

◆ addto_elements() [1/3]

void DomainPreconditionCompound::addto_elements ( const DomainPrecondition &&  elements)
inline

Add element to elements array.

Parameters
elementsnew value

Definition at line 129 of file DomainPreconditionCompound.h.

References elements().

◆ addto_elements() [2/3]

void DomainPreconditionCompound::addto_elements ( const std::shared_ptr< DomainPrecondition > &&  elements)
inline

Add element to elements array.

Parameters
elementsnew value

Definition at line 111 of file DomainPreconditionCompound.h.

References elements().

◆ addto_elements() [3/3]

void DomainPreconditionCompound::addto_elements ( const std::shared_ptr< DomainPrecondition > &  elements)
inline

Add element to elements array.

The move-semantics version (std::move) should be preferred.

Parameters
elementsnew value

Definition at line 121 of file DomainPreconditionCompound.h.

References elements().

◆ api_version()

static std::string DomainPreconditionCompound::api_version ( )
inlinestatic

Get version of implemented API.

Returns
string representation of version

Definition at line 49 of file DomainPreconditionCompound.h.

◆ elements()

std::vector<std::shared_ptr<DomainPrecondition> > DomainPreconditionCompound::elements ( ) const
inline

Get elements value.

Returns
elements value

Definition at line 94 of file DomainPreconditionCompound.h.

Referenced by addto_elements(), and set_elements().

◆ from_json()

void DomainPreconditionCompound::from_json ( const std::string &  json)
virtual

Retrieve data from JSON string.

Parameters
jsonJSON representation suitable for this object. Will allow partial assignment and not validate automaticaly.
See also
validate()

Reimplemented from DomainPrecondition.

Definition at line 79 of file DomainPreconditionCompound.cpp.

References from_json_value().

Referenced by DomainPreconditionCompound().

◆ from_json_value()

void DomainPreconditionCompound::from_json_value ( const rapidjson::Value &  v)
virtual

Retrieve data from JSON string.

Parameters
vRapidJSON value suitable for this object. Will allow partial assignment and not validate automaticaly.
See also
validate()

Reimplemented from DomainPrecondition.

Definition at line 88 of file DomainPreconditionCompound.cpp.

References DomainPrecondition::DomainPrecondition(), and DomainPrecondition::from_json_value().

Referenced by DomainPreconditionCompound(), and from_json().

◆ set_elements()

void DomainPreconditionCompound::set_elements ( const std::vector< std::shared_ptr< DomainPrecondition >> &  elements)
inline

Set elements value.

Parameters
elementsnew value

Definition at line 103 of file DomainPreconditionCompound.h.

References elements().

◆ to_json()

std::string DomainPreconditionCompound::to_json ( bool  pretty = false) const
virtual

Render object to JSON.

Parameters
prettytrue to enable pretty printing (readable spacing)
Returns
JSON string

Reimplemented from DomainPrecondition.

Definition at line 41 of file DomainPreconditionCompound.cpp.

References to_json_value().

◆ to_json_value()

void DomainPreconditionCompound::to_json_value ( rapidjson::Document &  d,
rapidjson::Value &  v 
) const
virtual

Render object to JSON.

Parameters
dRapidJSON document to retrieve allocator from
vRapidJSON value to add data to

Reimplemented from DomainPrecondition.

Definition at line 60 of file DomainPreconditionCompound.cpp.

References DomainPrecondition::to_json_value().

Referenced by to_json().

◆ validate()

void DomainPreconditionCompound::validate ( bool  subcall = false) const
virtual

Validate if all required fields have been set.

Parameters
subcalltrue if this is called from another class, e.g., a sub-class or array holder. Will modify the kind of exception thrown.
Exceptions
std::vector<std::string>thrown if required information is missing and subcall is set to true. Contains a list of missing fields.
std::runtime_errorinformative message describing the missing fields

Reimplemented from DomainPrecondition.

Definition at line 105 of file DomainPreconditionCompound.cpp.

References DomainPrecondition::validate().


The documentation for this class was generated from the following files: