10Duke Scale C++ Client
Loading...
Searching...
No Matches
tenduke::json::cjson::CjsonObject Class Reference

#include <CJsonObject.h>

Detailed Description

cJSON-implementation of tenduke::json::JSONObject.

Inheritance diagram for tenduke::json::cjson::CjsonObject:
tenduke::json::cjson::CjsonElement tenduke::json::JSONObject tenduke::json::JSONElement tenduke::json::JSONElement

Public Member Functions

 CjsonObject (std::unique_ptr< std::map< std::string, std::shared_ptr< tenduke::json::JSONElement > > > properties, cJSON *element)
 Constructs new instance.
 
std::shared_ptr< tenduke::json::JSONElementgetProperty (const std::string &propertyName) const override
 Returns object property by name.
 
bool hasProperty (const std::string &propertyName) const override
 Checks if the object has a property with given name.
 
std::shared_ptr< tenduke::json::JSONElementremoveProperty (const std::string &propertyName) override
 Removes property from this object.
 
const std::map< std::string, std::shared_ptr< tenduke::json::JSONElement > > & getProperties () const override
 Returns all properties of this object.
 
- Public Member Functions inherited from tenduke::json::cjson::CjsonElement
 CjsonElement (enum tenduke::json::JSONElement::Type type, cJSON *element, bool root)
 Constructs new instance.
 
 CjsonElement (enum tenduke::json::JSONElement::Type type, cJSON *element)
 Constructs new instance.
 
std::string asString () const override
 Returns string representation of this element.
 
enum Type getType () const override
 Returns type of this element.
 
void setRoot (bool p_root)
 Marks this node as root element.
 
cJSON * getCjsonElement () const
 Returns the pointer to cJSON-element.
 
- Public Member Functions inherited from tenduke::json::JSONElement
bool isArray () const
 Utility to check if this element is JSONArray.
 
bool isBoolean () const
 Utility to check if this element is JSONBoolean.
 
bool isNull () const
 Utility to check if this element is null.
 
bool isNumber () const
 Utility to check if this element is JSONNumber.
 
bool isObject () const
 Utility to check if this element is JSONObject.
 
bool isString () const
 Utility to check if this element is JSONString.
 
bool isUndefined () const
 Utility to check if this element is undefined.
 

Additional Inherited Members

- Public Types inherited from tenduke::json::JSONElement
enum  Type {
  UNDEFINED , NULLISH , OBJECT , ARRAY ,
  NUMBER , STRING , BOOLEAN
}
 Type of the element.
 
- Static Public Member Functions inherited from tenduke::json::JSONElement
static std::string typeToString (const enum Type type)
 Converts the type to string.
 
- Protected Attributes inherited from tenduke::json::cjson::CjsonElement
cJSON * element
 Pointer to the cJSON element.
 

Constructor & Destructor Documentation

◆ CjsonObject()

tenduke::json::cjson::CjsonObject::CjsonObject ( std::unique_ptr< std::map< std::string, std::shared_ptr< tenduke::json::JSONElement > > >  properties,
cJSON *  element 
)
inline

Constructs new instance.

Parameters
properties-
element-

Member Function Documentation

◆ getProperties()

const std::map< std::string, std::shared_ptr< xdjson::JSONElement > > & tenduke::json::cjson::CjsonObject::getProperties ( ) const
overridevirtual

Returns all properties of this object.

Returns
-

Implements tenduke::json::JSONObject.

◆ getProperty()

std::shared_ptr< xdjson::JSONElement > tenduke::json::cjson::CjsonObject::getProperty ( const std::string &  propertyName) const
overridevirtual

Returns object property by name.

Parameters
propertyName-
Returns
the property. Returns null if no such property.

Implements tenduke::json::JSONObject.

◆ hasProperty()

bool tenduke::json::cjson::CjsonObject::hasProperty ( const std::string &  propertyName) const
overridevirtual

Checks if the object has a property with given name.

Parameters
propertyName-
Returns
true if the object contains property with given name

Implements tenduke::json::JSONObject.

◆ removeProperty()

std::shared_ptr< xdjson::JSONElement > tenduke::json::cjson::CjsonObject::removeProperty ( const std::string &  propertyName)
overridevirtual

Removes property from this object.

Parameters
propertyName-
Returns
the removed property

Implements tenduke::json::JSONObject.


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