Caffa  1.1.0
C++ Application Framework for Embedded Systems with introspection
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
caffa::ObjectHandle Class Reference

#include <cafObjectHandle.h>

Inheritance diagram for caffa::ObjectHandle:
Inheritance graph
[legend]

Public Types

using InheritanceStackType = std::vector< std::string >
 

Public Member Functions

 ObjectHandle (bool generateUuid=true)
 
virtual std::string classKeyword () const
 
virtual InheritanceStackType classInheritanceStack () const
 
std::string parentClassKeyword () const
 Get the parent class keyword. More...
 
virtual std::string classDocumentation () const
 
std::vector< FieldHandle * > fields () const
 
std::vector< MethodHandle * > methods () const
 
FieldHandlefindField (const std::string &keyword) const
 
MethodHandlefindMethod (const std::string &keyword) const
 
const std::string & uuid () const
 
void setUuid (const std::string &)
 
virtual void initAfterRead ()
 
void accept (Inspector *visitor) const
 
void accept (Editor *editor)
 

Static Public Member Functions

static std::string classKeywordStatic ()
 
static bool matchesClassKeyword (const std::string &classKeyword, const InheritanceStackType &inheritanceStack)
 
static constexpr bool isValidCharacter (char c)
 
static constexpr bool isValidKeyword (const std::string_view &type)
 

Protected Member Functions

void addField (FieldHandle *field, const std::string &keyword)
 
void addMethod (MethodHandle *method, const std::string &keyword)
 

Detailed Description

The base class of all objects

Member Function Documentation

◆ accept() [1/2]

void ObjectHandle::accept ( Inspector visitor) const

Accept the visit by an inspecting visitor

Parameters
visitor

◆ accept() [2/2]

void ObjectHandle::accept ( Editor editor)

Accept the visit by an editing visitor

Parameters
editor

◆ addField()

void ObjectHandle::addField ( FieldHandle field,
const std::string &  keyword 
)
protected

Add a field to the object

◆ addMethod()

void ObjectHandle::addMethod ( MethodHandle method,
const std::string &  keyword 
)
protected

Add a method to the object

◆ fields()

std::vector< FieldHandle * > ObjectHandle::fields ( ) const

The registered fields contained in this Object.

Returns
a vector of FieldHandle pointers

◆ findField()

FieldHandle * ObjectHandle::findField ( const std::string &  keyword) const

Find a particular field by keyword

Parameters
keyword
Returns
a FieldHandle pointer

◆ findMethod()

MethodHandle * ObjectHandle::findMethod ( const std::string &  keyword) const

Find a particular method by keyword

Parameters
keyword
Returns
a MethodHandle pointer

◆ initAfterRead()

virtual void caffa::ObjectHandle::initAfterRead ( )
inlinevirtual

Method gets called from Document after all objects are read. Re-implement to set up internal pointers etc. in your data structure

◆ isValidKeyword()

static constexpr bool caffa::ObjectHandle::isValidKeyword ( const std::string_view &  type)
inlinestatic

Checks whether the keyword is a valid one. We accept regular letters and underscore '_'

◆ methods()

std::vector< MethodHandle * > ObjectHandle::methods ( ) const

The registered methods for this Object.

Returns
a list of MethodHandle pointers

◆ parentClassKeyword()

std::string caffa::ObjectHandle::parentClassKeyword ( ) const
inline

Get the parent class keyword.

Returns
std::string Class keyword of the parent class

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