Kanzi Framework  3.9.0
Java API
NodeComponent Class Reference

NodeComponent is the base class for all node components. More...

Inheritance diagram for NodeComponent:
[legend]

Public Member Functions

void close ()
 Close the object, and release native resources.
 
String getName ()
 Gets the value of NameProperty. More...
 
Node getNode ()
 Returns the node the node component is attached to or null if node component is not attached to a node. More...
 
NodeComponentState getState ()
 Gets the state of node component indicating if component is attached to a node, detached from any node or in process of attaching/detaching. More...
 
boolean isAttached ()
 Indicates whether node component is attached to a node. More...
 
boolean isAttaching ()
 Indicates whether node component is in the process of attaching to a node. More...
 
boolean isAttachingOrAttached ()
 Indicates whether node component is in the process of attaching to a node or already attached. More...
 
boolean isDetached ()
 Indicates whether node component is detached from any node. More...
 
boolean isDetaching ()
 Indicates whether node component currently detaching from the node. More...
 
boolean isDetachingOrDetached ()
 Indicates whether node component is in the process of detaching from the node or already detached. More...
 
void setName (String value)
 Sets the value of NameProperty. More...
 
- Public Member Functions inherited from KanziObject
boolean equals (Object object)
 
Domain getDomain ()
 Returns the domain the object belongs to. More...
 
Metaclass getDynamicMetaclass ()
 Returns the metaclass of the dynamic type of the object. More...
 
boolean isStale ()
 Test if the object is stale i.e. More...
 
void removeLocalValue (PropertyType propertyType)
 Removes the local value associated with the property. More...
 

Static Public Attributes

static final Metaclass metaclass
 The Metaclass for the class. More...
 
- Static Public Attributes inherited from KanziObject
static final Metaclass metaclass = new AbstractMetaclass("Kanzi.Object")
 The Metaclass for the class.
 

Protected Member Functions

 NodeComponent (Domain domain, long handle, Metaclass metaclass)
 Wraps a given native Node Component. More...
 
Node.MessageSubscriptionToken addNodeComponentMessageHandler (MessageType messageType, Node.MessageSubscriptionFunction messageHandlerFunction)
 Kanzi calls the message handler that you add using this function when the target name of the incoming message matches the name of the node component, or if the message is broadcast to all node components with an empty target name. More...
 
void attachOverride ()
 Called when the Trigger is attached to a node.
 
void detachOverride ()
 Called when a Trigger is detached from a Node.
 
void dispatchMessage (MessageType messageType, MessageArguments arguments)
 Adds the name of the node component to the message arguments and dispatches the message to the node of the node component. More...
 
void initialize ()
 Initializes the Node Component.
 
void removeNodeComponentMessageFilter (Node.MessageSubscriptionToken token)
 Removes message handler added via NodeComponent#addNodeComponentMessageHandler function. More...
 

Static Protected Member Functions

static< Derived extends NodeComponent > ObjectRef< Derived > createDerived (Domain domain, String name, Metaclass metaclass)
 Creates a derived class instance. More...
 

Additional Inherited Members

- Public Attributes inherited from NodeComponentMetadata
AbstractMetaclass metaclass = new AbstractMetaclass("Kanzi.NodeComponent")
 Metaclass for NodeComponent.
 
DynamicPropertyType< String > NameProperty
 Name. More...
 

Detailed Description

NodeComponent is the base class for all node components.

Node component is an isolated piece of logic which can be attached to any node in order to add additional functionality to it. Examples of node component could be Trigger which performs specific actions when certain conditions are met or AnimationPlayer which animates specific properties of the node it is attached to and its child nodes.

Node component can only be attached to a single node at a time. After node component is detached from one node, it can be attached to any other node.

Node component starts to perform its logic after it is attached to a certain node. After node component is detached from its node it becomes inactive and stops to perform its logic.

Constructor & Destructor Documentation

◆ NodeComponent()

NodeComponent ( Domain  domain,
long  handle,
Metaclass  metaclass 
)
protected

Wraps a given native Node Component.

Called by KanziObject.connectObject(long) when connecting to a native node component.

Parameters
domainUI Domain where this node belongs.
handleNative object that is backing this node component.
metaclassMetaclass data for this node component.

Member Function Documentation

◆ addNodeComponentMessageHandler()

Node.MessageSubscriptionToken addNodeComponentMessageHandler ( MessageType  messageType,
Node.MessageSubscriptionFunction  messageHandlerFunction 
)
protected

Kanzi calls the message handler that you add using this function when the target name of the incoming message matches the name of the node component, or if the message is broadcast to all node components with an empty target name.

Parameters
messageTypeType of message to handle.
messageHandlerFunctionThe function invoked when the node that owns the handler receives a matching message.
Returns
The MessageSubscriptionToken which identifies the added handler.

◆ createDerived()

static <Derived extends NodeComponent> ObjectRef<Derived> createDerived ( Domain  domain,
String  name,
Metaclass  metaclass 
)
staticprotected

Creates a derived class instance.

Call this method as part of the create method for a derived class.

Parameters
domainUI Domain where this node component belongs.
nameName of the node component
metaclassMetaclass data of the node component.
Returns
An ObjectRef that holds the created instance.

◆ dispatchMessage()

void dispatchMessage ( MessageType  messageType,
MessageArguments  arguments 
)
protected

Adds the name of the node component to the message arguments and dispatches the message to the node of the node component.

You must derive the message arguments from NodeComponentSourceMessageArguments.

Parameters
messageTypeThe type of the dispatched message.
argumentsThe arguments of the dispatched message.

◆ getName()

String getName ( )

Gets the value of NameProperty.

Returns
Current value.

◆ getNode()

Node getNode ( )

Returns the node the node component is attached to or null if node component is not attached to a node.

Returns
Node the node component is attached to.

◆ getState()

NodeComponentState getState ( )

Gets the state of node component indicating if component is attached to a node, detached from any node or in process of attaching/detaching.

Returns
State of node component.

◆ isAttached()

boolean isAttached ( )

Indicates whether node component is attached to a node.

Returns
true if node component is attached, false otherwise.

◆ isAttaching()

boolean isAttaching ( )

Indicates whether node component is in the process of attaching to a node.

Returns
true if node component is in the process of attaching, false otherwise.

◆ isAttachingOrAttached()

boolean isAttachingOrAttached ( )

Indicates whether node component is in the process of attaching to a node or already attached.

Returns
true if node component is in the process of attaching or already attached, false otherwise.

◆ isDetached()

boolean isDetached ( )

Indicates whether node component is detached from any node.

Returns
true if node component is detached, false otherwise.

◆ isDetaching()

boolean isDetaching ( )

Indicates whether node component currently detaching from the node.

Returns
true if node component currently detaching, false otherwise.

◆ isDetachingOrDetached()

boolean isDetachingOrDetached ( )

Indicates whether node component is in the process of detaching from the node or already detached.

Returns
true if node component is in the process of detaching or already detached, false otherwise.

◆ removeNodeComponentMessageFilter()

void removeNodeComponentMessageFilter ( Node.MessageSubscriptionToken  token)
protected

Removes message handler added via NodeComponent#addNodeComponentMessageHandler function.

Parameters
tokenSubscription token of message handler to remove.

◆ setName()

void setName ( String  value)

Sets the value of NameProperty.

Parameters
valueNew value.

Member Data Documentation

◆ metaclass

final Metaclass metaclass
static
Initial value:

The Metaclass for the class.