Kanzi 3.9.10
Metaclass Class Reference

Metaclass provides type inspection mechanism for Kanzi classes. More...

Inheritance diagram for Metaclass:
[legend]

Classes

class  Iterator
 
enum  Mode
 Enumeration used to track ownership. More...
 

Public Member Functions

 Metaclass (String name)
 Creates a new metaclass.
 
void addMessageType (MessageType< MessageArgumentType > messageType)
 Adds a message type.
 
void addNestedMetaclass (Metaclass nestedMetaclass)
 Adds a nested metaclass.
 
void addPropertyType (PropertyType< TDataType > propertyType)
 Adds a property type.
 
ObjectRef< ObjectTypecreate (Domain domain, String name)
 Create an instance of the class described by the metaclass.
 
boolean equals (Object object)
 
Metaclass getBase ()
 Returns the metaclass of the base class.
 
String getName ()
 Returns the fully qualified name of this metaclass.
 
long getNative ()
 Gets a pointer to the backing C++ instance.
 
int hashCode ()
 
boolean isAbstract ()
 Returns whether the metaclass is abstract or not.
 
Iterable< AbstractMessageTypeiterateMessageTypes ()
 Gets an Iterable object used to iterate the message types of the metaclass.
 
Iterable< MetaclassiterateNestedMetaclass ()
 Gets an Iterable object used to iterate the nested metaclasses of the metaclass.
 
Iterable< AbstractPropertyTypeiteratePropertyTypes ()
 Gets an Iterable object used to iterate the property types of the metaclass.
 

Static Public Member Functions

static MetaclassWrapper getWrapper (Metaclass metaclass)
 Gets a wrapper for a Metaclass object.
 

Detailed Description

Metaclass provides type inspection mechanism for Kanzi classes.

Classes deriving from Object can register information about their type, properties, methods, messages by using Metaclass and accompanying macros. Such information is used by serialization, scripting and to display friendly type information in Kanzi Studio.

Constructor & Destructor Documentation

◆ Metaclass()

Metaclass ( String name)

Creates a new metaclass.

When registered, Kanzi automatically finds the owning class, based on the location of the Metaclass instance.

Parameters
nameFully qualified name of the metaclass.

Member Function Documentation

◆ addMessageType()

void addMessageType ( MessageType< MessageArgumentType > messageType)

Adds a message type.

Parameters
messageTypeMessage type to be added.

◆ addNestedMetaclass()

void addNestedMetaclass ( Metaclass nestedMetaclass)

Adds a nested metaclass.

Parameters
nestedMetaclassNested metaclass to be added.

◆ addPropertyType()

void addPropertyType ( PropertyType< TDataType > propertyType)

Adds a property type.

Parameters
propertyTypeProperty type to be added.

◆ create()

ObjectRef< ObjectType > create ( Domain domain,
String name )

Create an instance of the class described by the metaclass.

Parameters
domainThe domain to use for the created object.
nameThe name of the created object.
Returns
An new object instance as described by the metaclass

◆ getBase()

Metaclass getBase ( )

Returns the metaclass of the base class.

Returns
Metaclass of the base class.

◆ getName()

String getName ( )

Returns the fully qualified name of this metaclass.

Returns
Fully qualified name of this metaclass.

◆ getNative()

long getNative ( )

Gets a pointer to the backing C++ instance.

Returns
A pointer to the backing C++ instance. Type: const kanzi::Metaclass*.

◆ getWrapper()

static MetaclassWrapper getWrapper ( Metaclass metaclass)
static

Gets a wrapper for a Metaclass object.

Parameters
metaclassThe Metaclass object to wrap.
Returns
MetaclassWrapper for a Metaclass object.

◆ isAbstract()

boolean isAbstract ( )

Returns whether the metaclass is abstract or not.

Returns
Returns true if the class described by the metaclass is abstract, false otherwise.

◆ iterateMessageTypes()

Iterable< AbstractMessageType > iterateMessageTypes ( )

Gets an Iterable object used to iterate the message types of the metaclass.

Returns
An iterable of message types of the metaclass.

◆ iterateNestedMetaclass()

Iterable< Metaclass > iterateNestedMetaclass ( )

Gets an Iterable object used to iterate the nested metaclasses of the metaclass.

Returns
An iterable of nested metaclasses of the metaclass.

◆ iteratePropertyTypes()

Iterable< AbstractPropertyType > iteratePropertyTypes ( )

Gets an Iterable object used to iterate the property types of the metaclass.

Returns
An iterable of property types of the metaclass.