Base Framework
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
ObjectModel Class Reference

#include <base/objectmodel/ObjectModel.h>

Inherits ReferenceCountedObject.

Classes

class  Array
 
class  Binary
 
class  Boolean
 
class  Comment
 
class  Float
 
class  Integer
 
class  NiceFormat
 
class  Object
 
class  Stats
 
class  String
 
class  Value
 
class  Void
 

Public Types

enum  FormattingFlags {
  FLAG_COMPACT = 1 << 0, FLAG_INDENT = 1 << 1, FLAG_COLOR = 1 << 2, FLAG_COLOR_RGB = 1 << 4,
  FLAG_USE_TAB = 1 << 5, FLAG_USE_NULL_FOR_SPECIAL = 1 << 6, FLAG_INCLUDE_COMMENTS = 1 << 7, DEFAULT_FORMATTING = FLAG_INDENT
}
 

Public Member Functions

 ObjectModel (bool _allowReuse=true)
 
Reference< VoidcreateVoid ()
 
Reference< BooleancreateBoolean (bool value=false)
 
Reference< IntegercreateInteger (int64 value=0)
 
Reference< FloatcreateFloat (double value=0)
 
const Reference< String > & createEmptyString ()
 
Reference< CommentcreateComment (const base::String &value)
 
Reference< StringcreateString (const char *value)
 
Reference< StringcreateString (const base::String &value)
 
Reference< StringcreateStringUnique (const char *value)
 
Reference< ArraycreateArray ()
 
Reference< ArraycreateArray (std::initializer_list< bool > l)
 
Reference< ArraycreateArray (std::initializer_list< int > l)
 
Reference< ArraycreateArray (std::initializer_list< double > l)
 
Reference< ArraycreateArray (std::initializer_list< const char * > l)
 
Reference< ObjectcreateObject ()
 
- Public Member Functions inherited from ReferenceCountedObject
 ReferenceCountedObject () noexcept
 
 ReferenceCountedObject (const ReferenceCountedObject &copy) noexcept
 
 ReferenceCountedObject (ReferenceCountedObject &&move) noexcept
 
ReferenceCountedObjectoperator= (const ReferenceCountedObject &copy) noexcept
 
ReferenceCountedObjectoperator= (ReferenceCountedObject &&move) noexcept
 
MemorySize getNumberOfReferences_INTERNAL () const noexcept
 
virtual bool useGarbageCollector () const noexcept
 
- Public Member Functions inherited from DynamicObject
 DynamicObject () noexcept
 
bool isValidObject () const noexcept
 
virtual ~DynamicObject () noexcept(false)
 
 _COM_AZURE_DEV__BASE__OVERRIDE_ALLOC ()
 

Static Public Member Functions

static Stats getStats (const Reference< ObjectModel::Value > &value)
 
static Document getXML (const Reference< ObjectModel::Value > &value, const String &name="root", const String &ns=String())
 

Detailed Description

Generic object model.

Constructor & Destructor Documentation

◆ ObjectModel()

ObjectModel::ObjectModel ( bool  _allowReuse = true)

Initializes the exception object with no message.

Member Function Documentation

◆ createArray() [1/5]

Reference<Array> ObjectModel::createArray ( )

Creates an array.

◆ createArray() [2/5]

Reference<Array> ObjectModel::createArray ( std::initializer_list< bool >  l)

Creates an array.

◆ createArray() [3/5]

Reference<Array> ObjectModel::createArray ( std::initializer_list< const char * >  l)

Creates an array.

◆ createArray() [4/5]

Reference<Array> ObjectModel::createArray ( std::initializer_list< double >  l)

Creates an array.

◆ createArray() [5/5]

Reference<Array> ObjectModel::createArray ( std::initializer_list< int >  l)

Creates an array.

◆ createBoolean()

Reference<Boolean> ObjectModel::createBoolean ( bool  value = false)

Creates a new boolean. May be reused.

◆ createComment()

Reference<Comment> ObjectModel::createComment ( const base::String &  value)

Creates a comment. Similar strings may be reused.

◆ createEmptyString()

const Reference<String>& ObjectModel::createEmptyString ( )
inline

Creates an empty string.

◆ createFloat()

Reference<Float> ObjectModel::createFloat ( double  value = 0)

Creates a float. May be reused.

◆ createInteger()

Reference<Integer> ObjectModel::createInteger ( int64  value = 0)

Creates an integer. May be reused.

◆ createObject()

Reference<Object> ObjectModel::createObject ( )

Creates an object.

◆ createString() [1/2]

Reference<String> ObjectModel::createString ( const base::String &  value)

Creates a string. Similar strings may be reused.

◆ createString() [2/2]

Reference<String> ObjectModel::createString ( const char *  value)

Creates a string. Similar strings may be reused.

◆ createStringUnique()

Reference<String> ObjectModel::createStringUnique ( const char *  value)

Creates a string without any reuse.

◆ createVoid()

Reference<Void> ObjectModel::createVoid ( )

Creates a void. May be reused.

◆ getStats()

static Stats ObjectModel::getStats ( const Reference< ObjectModel::Value > &  value)
static

Returns the stats for the given item.

◆ getXML()

static Document ObjectModel::getXML ( const Reference< ObjectModel::Value > &  value,
const String name = "root",
const String ns = String() 
)
static

Returns XML document for given ObjectModel value.

Parameters
valueThe object model value.
nameThe root name. Defaults to "root".
nsThe XML namespace. Defaults to none.