ledger-core
Public Member Functions | List of all members
ledger::core::DynamicObject Class Reference
+ Inheritance diagram for ledger::core::DynamicObject:
+ Collaboration diagram for ledger::core::DynamicObject:

Public Member Functions

template<typename T >
optional< T > get (const std::string &key)
 A generic indexed and type-safe getter.
 
template<typename T >
std::shared_ptr< DynamicObjectput (const std::string &key, T value)
 A generic and type-safe put.
 
optional< std::string > getString (const std::string &key) override
 
optional< int32_t > getInt (const std::string &key) override
 
optional< int64_t > getLong (const std::string &key) override
 
optional< double > getDouble (const std::string &key) override
 
optional< bool > getBoolean (const std::string &key) override
 
optional< std::vector< uint8_t > > getData (const std::string &key) override
 
std::shared_ptr< api::DynamicObjectgetObject (const std::string &key) override
 
std::shared_ptr< api::DynamicArraygetArray (const std::string &key) override
 
std::shared_ptr< api::DynamicObjectputString (const std::string &key, const std::string &value) override
 
std::shared_ptr< api::DynamicObjectputInt (const std::string &key, int32_t value) override
 
std::shared_ptr< api::DynamicObjectputLong (const std::string &key, int64_t value) override
 
std::shared_ptr< api::DynamicObjectputDouble (const std::string &key, double value) override
 
std::shared_ptr< api::DynamicObjectputBoolean (const std::string &key, bool value) override
 
std::shared_ptr< api::DynamicObjectputData (const std::string &key, const std::vector< uint8_t > &value) override
 
std::shared_ptr< api::DynamicObjectputObject (const std::string &key, const std::shared_ptr< api::DynamicObject > &value) override
 
std::shared_ptr< api::DynamicObjectputArray (const std::string &key, const std::shared_ptr< api::DynamicArray > &value) override
 
bool contains (const std::string &key) override
 
bool remove (const std::string &key) override
 
std::vector< std::string > getKeys () override
 
optional< api::DynamicTypegetType (const std::string &key) override
 
std::string dump () override
 
std::vector< uint8_t > serialize () override
 
bool isReadOnly () override
 
void setReadOnly (bool enable)
 
std::shared_ptr< api::DynamicObjectupdateWithConfiguration (const std::shared_ptr< DynamicObject > &configuration)
 
int64_t size () override
 
std::ostream & dump (std::ostream &ss, int depth) const
 
template<class Archive >
void serialize (Archive &ar)
 
- Public Member Functions inherited from ledger::core::api::DynamicObject
virtual std::shared_ptr< DynamicObjectputObject (const std::string &key, const std::shared_ptr< DynamicObject > &value)=0
 
virtual std::shared_ptr< DynamicObjectputArray (const std::string &key, const std::shared_ptr< DynamicArray > &value)=0
 

Additional Inherited Members

- Static Public Member Functions inherited from ledger::core::api::DynamicObject
static std::shared_ptr< DynamicObjectnewInstance ()
 
static std::shared_ptr< DynamicObjectload (const std::vector< uint8_t > &serialized)
 

Member Function Documentation

◆ contains()

bool ledger::core::DynamicObject::contains ( const std::string &  key)
overridevirtual

Check if a key was used to store a value.

Parameters
key,string,keyto look for
Returns
bool

Implements ledger::core::api::DynamicObject.

◆ dump()

std::string ledger::core::DynamicObject::dump ( )
overridevirtual

Dump whole object's content as string.

Returns
string

Implements ledger::core::api::DynamicObject.

◆ getArray()

std::shared_ptr< api::DynamicArray > ledger::core::DynamicObject::getArray ( const std::string &  key)
overridevirtual

Get, if exists, stored DynamicArray having a specific key.

Parameters
key,string,keyof DynamicArray to look for
Returns
Optional DynamicArray

Implements ledger::core::api::DynamicObject.

◆ getBoolean()

optional< bool > ledger::core::DynamicObject::getBoolean ( const std::string &  key)
overridevirtual

Get, if exists, stored bool having a specific key.

Parameters
key,string,keyof bool to look for
Returns
Optional bool

Implements ledger::core::api::DynamicObject.

◆ getData()

optional< std::vector< uint8_t > > ledger::core::DynamicObject::getData ( const std::string &  key)
overridevirtual

Get, if exists, stored binary having a specific key.

Parameters
key,string,keyof binary to look for
Returns
Optional binary

Implements ledger::core::api::DynamicObject.

◆ getDouble()

optional< double > ledger::core::DynamicObject::getDouble ( const std::string &  key)
overridevirtual

Get, if exists, stored double having a specific key.

Parameters
key,string,keyof double to look for
Returns
Optional double

Implements ledger::core::api::DynamicObject.

◆ getInt()

optional< int32_t > ledger::core::DynamicObject::getInt ( const std::string &  key)
overridevirtual

Get, if exists, stored 32 bits integer having a specific key.

Parameters
key,string,keyof 32 bits integer to look for
Returns
Optional 32 bits integer

Implements ledger::core::api::DynamicObject.

◆ getKeys()

std::vector< std::string > ledger::core::DynamicObject::getKeys ( )
overridevirtual

Get list of keys.

Returns
list of string, list all stored keys

Implements ledger::core::api::DynamicObject.

◆ getLong()

optional< int64_t > ledger::core::DynamicObject::getLong ( const std::string &  key)
overridevirtual

Get, if exists, stored 64 bits integer having a specific key.

Parameters
key,string,keyof 64 bits integer to look for
Returns
Optional 64 bits integer

Implements ledger::core::api::DynamicObject.

◆ getObject()

std::shared_ptr< api::DynamicObject > ledger::core::DynamicObject::getObject ( const std::string &  key)
overridevirtual

Get, if exists, stored DynamicObject having a specific key.

Parameters
key,string,keyof DynamicObject to look for
Returns
Optional DynamicObject

Implements ledger::core::api::DynamicObject.

◆ getString()

optional< std::string > ledger::core::DynamicObject::getString ( const std::string &  key)
overridevirtual

Get, if exists, stored string having a specific key.

Parameters
key,string,keyof string to look for
Returns
Optional string

Implements ledger::core::api::DynamicObject.

◆ getType()

optional< api::DynamicType > ledger::core::DynamicObject::getType ( const std::string &  key)
overridevirtual

Get type of object stored with specific key.

Parameters
key,string,keyto look for
Returns
Optional DynamicType enum entry

Implements ledger::core::api::DynamicObject.

◆ isReadOnly()

bool ledger::core::DynamicObject::isReadOnly ( )
overridevirtual

Get readonly status of object.

Parameters
bool

Implements ledger::core::api::DynamicObject.

◆ putBoolean()

std::shared_ptr< api::DynamicObject > ledger::core::DynamicObject::putBoolean ( const std::string &  key,
bool  value 
)
overridevirtual

Store a boolean integer with a given key.

Parameters
key,string,keyto access stored value
value,bool
Returns
DynamicObject object with value stored in it

Implements ledger::core::api::DynamicObject.

◆ putData()

std::shared_ptr< api::DynamicObject > ledger::core::DynamicObject::putData ( const std::string &  key,
const std::vector< uint8_t > &  value 
)
overridevirtual

Store a binary integer with a given key.

Parameters
key,string,keyto access stored value
value,binary
Returns
DynamicObject object with value stored in it

Implements ledger::core::api::DynamicObject.

◆ putDouble()

std::shared_ptr< api::DynamicObject > ledger::core::DynamicObject::putDouble ( const std::string &  key,
double  value 
)
overridevirtual

Store a double with a given key.

Parameters
key,string,keyto access stored value
value,double
Returns
DynamicObject object with value stored in it

Implements ledger::core::api::DynamicObject.

◆ putInt()

std::shared_ptr< api::DynamicObject > ledger::core::DynamicObject::putInt ( const std::string &  key,
int32_t  value 
)
overridevirtual

Store a 32-bit integer with a given key.

Parameters
key,string,keyto access stored value
value,32-bitinteger
Returns
DynamicObject object with value stored in it

Implements ledger::core::api::DynamicObject.

◆ putLong()

std::shared_ptr< api::DynamicObject > ledger::core::DynamicObject::putLong ( const std::string &  key,
int64_t  value 
)
overridevirtual

Store a 64-bit integer with a given key.

Parameters
key,string,keyto access stored value
value,64-bitinteger
Returns
DynamicObject object with value stored in it

Implements ledger::core::api::DynamicObject.

◆ putString()

std::shared_ptr< api::DynamicObject > ledger::core::DynamicObject::putString ( const std::string &  key,
const std::string &  value 
)
overridevirtual

Store a string with a given key.

Parameters
key,string,keyto access stored value
value,string
Returns
DynamicObject object with value stored in it

Implements ledger::core::api::DynamicObject.

◆ remove()

bool ledger::core::DynamicObject::remove ( const std::string &  key)
overridevirtual

Delete key and value stored with it.

Parameters
key,string,keyto look for
Returns
bool, true if key exists and deletion succeeded, false otherwise

Implements ledger::core::api::DynamicObject.

◆ serialize()

std::vector< uint8_t > ledger::core::DynamicObject::serialize ( )
overridevirtual

Serialize whole object to a binary.

Returns
binary

Implements ledger::core::api::DynamicObject.

◆ size()

int64_t ledger::core::DynamicObject::size ( )
overridevirtual

Get count of stored references.

Returns
64 bits integer

Implements ledger::core::api::DynamicObject.


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