ledger-core
Public Member Functions | Static Public Member Functions | List of all members
ledger::core::api::DynamicObject Class Referenceabstract

#include <DynamicObject.hpp>

+ Inheritance diagram for ledger::core::api::DynamicObject:

Public Member Functions

virtual std::shared_ptr< DynamicObjectputString (const std::string &key, const std::string &value)=0
 
virtual std::shared_ptr< DynamicObjectputInt (const std::string &key, int32_t value)=0
 
virtual std::shared_ptr< DynamicObjectputLong (const std::string &key, int64_t value)=0
 
virtual std::shared_ptr< DynamicObjectputDouble (const std::string &key, double value)=0
 
virtual std::shared_ptr< DynamicObjectputData (const std::string &key, const std::vector< uint8_t > &value)=0
 
virtual std::shared_ptr< DynamicObjectputBoolean (const std::string &key, bool value)=0
 
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
 
virtual std::experimental::optional< std::string > getString (const std::string &key)=0
 
virtual std::experimental::optional< int32_t > getInt (const std::string &key)=0
 
virtual std::experimental::optional< int64_t > getLong (const std::string &key)=0
 
virtual std::experimental::optional< double > getDouble (const std::string &key)=0
 
virtual std::experimental::optional< std::vector< uint8_t > > getData (const std::string &key)=0
 
virtual std::experimental::optional< bool > getBoolean (const std::string &key)=0
 
virtual std::shared_ptr< DynamicObjectgetObject (const std::string &key)=0
 
virtual std::shared_ptr< DynamicArraygetArray (const std::string &key)=0
 
virtual bool contains (const std::string &key)=0
 
virtual bool remove (const std::string &key)=0
 
virtual std::vector< std::string > getKeys ()=0
 
virtual std::experimental::optional< DynamicTypegetType (const std::string &key)=0
 
virtual std::string dump ()=0
 
virtual std::vector< uint8_t > serialize ()=0
 
virtual bool isReadOnly ()=0
 
virtual int64_t size ()=0
 

Static Public Member Functions

static std::shared_ptr< DynamicObjectnewInstance ()
 
static std::shared_ptr< DynamicObjectload (const std::vector< uint8_t > &serialized)
 

Detailed Description

Class representing an object that stores values of different types of objects, those values are appended dynamically in a map like structure with a given key through which they can be retreived.

Member Function Documentation

◆ contains()

virtual bool ledger::core::api::DynamicObject::contains ( const std::string &  key)
pure virtual

Check if a key was used to store a value.

Parameters
key,string,keyto look for
Returns
bool

Implemented in ledger::core::DynamicObject.

◆ dump()

virtual std::string ledger::core::api::DynamicObject::dump ( )
pure virtual

Dump whole object's content as string.

Returns
string

Implemented in ledger::core::DynamicObject.

◆ getArray()

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

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

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

Implemented in ledger::core::DynamicObject.

◆ getBoolean()

virtual std::experimental::optional<bool> ledger::core::api::DynamicObject::getBoolean ( const std::string &  key)
pure virtual

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

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

Implemented in ledger::core::DynamicObject.

◆ getData()

virtual std::experimental::optional<std::vector<uint8_t> > ledger::core::api::DynamicObject::getData ( const std::string &  key)
pure virtual

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

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

Implemented in ledger::core::DynamicObject.

◆ getDouble()

virtual std::experimental::optional<double> ledger::core::api::DynamicObject::getDouble ( const std::string &  key)
pure virtual

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

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

Implemented in ledger::core::DynamicObject.

◆ getInt()

virtual std::experimental::optional<int32_t> ledger::core::api::DynamicObject::getInt ( const std::string &  key)
pure virtual

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

Implemented in ledger::core::DynamicObject.

◆ getKeys()

virtual std::vector<std::string> ledger::core::api::DynamicObject::getKeys ( )
pure virtual

Get list of keys.

Returns
list of string, list all stored keys

Implemented in ledger::core::DynamicObject.

◆ getLong()

virtual std::experimental::optional<int64_t> ledger::core::api::DynamicObject::getLong ( const std::string &  key)
pure virtual

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

Implemented in ledger::core::DynamicObject.

◆ getObject()

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

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

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

Implemented in ledger::core::DynamicObject.

◆ getString()

virtual std::experimental::optional<std::string> ledger::core::api::DynamicObject::getString ( const std::string &  key)
pure virtual

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

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

Implemented in ledger::core::DynamicObject.

◆ getType()

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

Get type of object stored with specific key.

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

Implemented in ledger::core::DynamicObject.

◆ isReadOnly()

virtual bool ledger::core::api::DynamicObject::isReadOnly ( )
pure virtual

Get readonly status of object.

Parameters
bool

Implemented in ledger::core::DynamicObject.

◆ load()

std::shared_ptr< api::DynamicObject > ledger::core::api::DynamicObject::load ( const std::vector< uint8_t > &  serialized)
static

Parse a binary to a DynamicObject.

Parameters
serialized,binaryto parse
Returns
Optional DynamicObject

◆ newInstance()

std::shared_ptr< api::DynamicObject > ledger::core::api::DynamicObject::newInstance ( )
static

Create a new instance of DynamicObject class.

Returns
DynamicObject instance

◆ putArray()

virtual std::shared_ptr<DynamicObject> ledger::core::api::DynamicObject::putArray ( const std::string &  key,
const std::shared_ptr< DynamicArray > &  value 
)
pure virtual

Store a DynamicArray object with a given key.

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

◆ putBoolean()

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

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

Implemented in ledger::core::DynamicObject.

◆ putData()

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

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

Implemented in ledger::core::DynamicObject.

◆ putDouble()

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

Store a double with a given key.

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

Implemented in ledger::core::DynamicObject.

◆ putInt()

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

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

Implemented in ledger::core::DynamicObject.

◆ putLong()

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

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

Implemented in ledger::core::DynamicObject.

◆ putObject()

virtual std::shared_ptr<DynamicObject> ledger::core::api::DynamicObject::putObject ( const std::string &  key,
const std::shared_ptr< DynamicObject > &  value 
)
pure virtual

Store another DynamicObject object with a given key.

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

◆ putString()

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

Store a string with a given key.

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

Implemented in ledger::core::DynamicObject.

◆ remove()

virtual bool ledger::core::api::DynamicObject::remove ( const std::string &  key)
pure virtual

Delete key and value stored with it.

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

Implemented in ledger::core::DynamicObject.

◆ serialize()

virtual std::vector<uint8_t> ledger::core::api::DynamicObject::serialize ( )
pure virtual

Serialize whole object to a binary.

Returns
binary

Implemented in ledger::core::DynamicObject.

◆ size()

virtual int64_t ledger::core::api::DynamicObject::size ( )
pure virtual

Get count of stored references.

Returns
64 bits integer

Implemented in ledger::core::DynamicObject.


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