Fawkes API  Fawkes Development Version
DomainPrecondition Class Reference

DomainPrecondition representation for JSON transfer. More...

#include <DomainPrecondition.h>

Inheritance diagram for DomainPrecondition:

Public Member Functions

 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...
 
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::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...
 

Detailed Description

DomainPrecondition representation for JSON transfer.

Definition at line 26 of file DomainPrecondition.h.

Constructor & Destructor Documentation

◆ DomainPrecondition() [1/3]

DomainPrecondition::DomainPrecondition ( )

Constructor.

Definition at line 23 of file DomainPrecondition.cpp.

Referenced by DomainPreconditionCompound::from_json_value().

◆ DomainPrecondition() [2/3]

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

Constructor from JSON.

Parameters
jsonJSON string to initialize from

Definition at line 27 of file DomainPrecondition.cpp.

References from_json().

◆ DomainPrecondition() [3/3]

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

Constructor from JSON.

Parameters
vRapidJSON value object to initialize from.

Definition at line 32 of file DomainPrecondition.cpp.

References from_json_value().

◆ ~DomainPrecondition()

DomainPrecondition::~DomainPrecondition ( )
virtual

Destructor.

Definition at line 37 of file DomainPrecondition.cpp.

Member Function Documentation

◆ api_version()

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

Get version of implemented API.

Returns
string representation of version

Definition at line 48 of file DomainPrecondition.h.

◆ apiVersion()

std::optional<std::string> DomainPrecondition::apiVersion ( ) const
inline

Get apiVersion value.

Returns
apiVersion value

Definition at line 109 of file DomainPrecondition.h.

Referenced by set_apiVersion().

◆ from_json()

void DomainPrecondition::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 in DomainPreconditionAtom, and DomainPreconditionCompound.

Definition at line 101 of file DomainPrecondition.cpp.

References from_json_value().

Referenced by DomainPrecondition().

◆ from_json_value()

void DomainPrecondition::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 in DomainPreconditionAtom, and DomainPreconditionCompound.

Definition at line 110 of file DomainPrecondition.cpp.

Referenced by DomainPrecondition(), from_json(), DomainPreconditionCompound::from_json_value(), DomainPreconditionAtom::from_json_value(), and PlanAction::from_json_value().

◆ grounded()

std::optional<bool> DomainPrecondition::grounded ( ) const
inline

Get grounded value.

Returns
grounded value

Definition at line 160 of file DomainPrecondition.h.

Referenced by set_grounded().

◆ is_satisfied()

std::optional<bool> DomainPrecondition::is_satisfied ( ) const
inline

Get is-satisfied value.

Returns
is-satisfied value

Definition at line 177 of file DomainPrecondition.h.

Referenced by set_is_satisfied().

◆ kind()

std::optional<std::string> DomainPrecondition::kind ( ) const
inline

Get kind value.

Returns
kind value

Definition at line 92 of file DomainPrecondition.h.

Referenced by set_kind().

◆ name()

std::optional<std::string> DomainPrecondition::name ( ) const
inline

Get name value.

Returns
name value

Definition at line 126 of file DomainPrecondition.h.

Referenced by set_name().

◆ set_apiVersion()

void DomainPrecondition::set_apiVersion ( const std::string &  apiVersion)
inline

Set apiVersion value.

Parameters
apiVersionnew value

Definition at line 118 of file DomainPrecondition.h.

References apiVersion().

◆ set_grounded()

void DomainPrecondition::set_grounded ( const bool &  grounded)
inline

Set grounded value.

Parameters
groundednew value

Definition at line 169 of file DomainPrecondition.h.

References grounded().

◆ set_is_satisfied()

void DomainPrecondition::set_is_satisfied ( const bool &  is_satisfied)
inline

Set is-satisfied value.

Parameters
is_satisfiednew value

Definition at line 186 of file DomainPrecondition.h.

References is_satisfied().

◆ set_kind()

void DomainPrecondition::set_kind ( const std::string &  kind)
inline

Set kind value.

Parameters
kindnew value

Definition at line 101 of file DomainPrecondition.h.

References kind().

◆ set_name()

void DomainPrecondition::set_name ( const std::string &  name)
inline

Set name value.

Parameters
namenew value

Definition at line 135 of file DomainPrecondition.h.

References name().

◆ set_type()

void DomainPrecondition::set_type ( const std::string &  type)
inline

Set type value.

Parameters
typenew value

Definition at line 152 of file DomainPrecondition.h.

References type().

◆ to_json()

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

Render object to JSON.

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

Reimplemented in DomainPreconditionAtom, and DomainPreconditionCompound.

Definition at line 42 of file DomainPrecondition.cpp.

References to_json_value().

◆ to_json_value()

void DomainPrecondition::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 in DomainPreconditionAtom, and DomainPreconditionCompound.

Definition at line 61 of file DomainPrecondition.cpp.

Referenced by to_json(), DomainPreconditionCompound::to_json_value(), and DomainPreconditionAtom::to_json_value().

◆ type()

std::optional<std::string> DomainPrecondition::type ( ) const
inline

Get type value.

Returns
type value

Definition at line 143 of file DomainPrecondition.h.

Referenced by set_type().

◆ validate()

void DomainPrecondition::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 in DomainPreconditionAtom, and DomainPreconditionCompound.

Definition at line 133 of file DomainPrecondition.cpp.

Referenced by DomainPreconditionAtom::validate(), and DomainPreconditionCompound::validate().


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