Kanzi framework  3.9.1
Java API
ActivityCodeBehind Class Referenceabstract

ActivityCodeBehind is code that is associated with a particular Activity node, and has access to the properties of that Activity node. More...

Inheritance diagram for ActivityCodeBehind:
[legend]

Classes

interface  DirectorInterface
 
interface  StatusChangeHandler
 StatusChangeHandler implements a handler for Activity status change. More...
 

Public Member Functions

void close ()
 Close the object, and release native resources.
 
- Public Member Functions inherited from CodeBehind
void close ()
 Close the object, and release native resources.
 
Iterable< String > iterateCommands ()
 Gets an Iterable used to iterate commands handled by this code behind object. More...
 
- Public Member Functions inherited from NodeComponent
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 = ActivityCodeBehindMetadata.metaclass
 
- Static Public Attributes inherited from CodeBehind
static final Metaclass metaclass = CodeBehindMetadata.metaclass
 
- Static Public Attributes inherited from NodeComponent
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

 ActivityCodeBehind (Domain domain, long handle, Metaclass metaclass)
 Wraps a given native ActivityCodeBehind. More...
 
void initialize ()
 Initializes the ActivityCodeBehind.
 
void registerStatusChange (ActivityStatus status, StatusChangeHandler handler)
 Registers a new activity status change handler. More...
 
abstract void registerStatusChangeOverride ()
 Override this method to register status change handlers. More...
 
void unregisterStatusChange (ActivityStatus status)
 Unregisters an activity status change handler. More...
 
abstract void unregisterStatusChangeOverride ()
 Override this method to unregister the registered status change handlers. More...
 
- Protected Member Functions inherited from CodeBehind
 CodeBehind (Domain domain, long handle, Metaclass metaclass)
 Wraps a given native CodeBehind. More...
 
void initialize ()
 Initializes the CodeBehind.
 
void registerCommand (String commandName, CodeBehind.CommandHandler handler)
 Registers a new command handler. More...
 
abstract void registerCommandsOverride ()
 Override this method to register commands. More...
 
void unregisterCommand (String commandName)
 Unregisters a command handler. More...
 
abstract void unregisterCommandsOverride ()
 Override this method to unregister the registered commands. More...
 
- Protected Member Functions inherited from NodeComponent
 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...
 
- Static Protected Member Functions inherited from CodeBehind
static< Derived extends NodeComponent > ObjectRef< Derived > createDerived (Domain domain, String name, Metaclass metaclass)
 Creates a derived class instance. More...
 
- Static Protected Member Functions inherited from NodeComponent
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...
 
- Public Attributes inherited from CodeBehindMetadata
DynamicPropertyType< String > CodeBehindSourceProperty
 Sets the metaclass name of the code behind class for this node. More...
 
AbstractMetaclass metaclass = new AbstractMetaclass("Kanzi.CodeBehind")
 Metaclass for CodeBehind.
 
- Public Attributes inherited from ActivityCodeBehindMetadata
AbstractMetaclass metaclass = new AbstractMetaclass("Kanzi.ActivityCodeBehind")
 Metaclass for ActivityCodeBehind.
 

Detailed Description

ActivityCodeBehind is code that is associated with a particular Activity node, and has access to the properties of that Activity node.

You can use this to:

  • React to changes of the status of an Activity.
  • Connect to a remote service when an Activity node is activated and save data and disconnect when an Activity node is deactivated.
  • Install Kanzi command handlers and define their implementations, such as increase the volume when the user presses a button.
  • Implement complex UI interaction, such as drag-and-drop of data between UI elements.

All Activity code behind classes inherit from this class.

See also
CodeBehind, Activity2D, Activity3D.

Constructor & Destructor Documentation

◆ ActivityCodeBehind()

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

Wraps a given native ActivityCodeBehind.

Called by KanziObject#connectObject(long) when connecting to a native ActivityCodeBehind.

Parameters
domainUI Domain where the object belongs.
handleNative object that is backing the object.
metaclassMetaclass data for the object.

Member Function Documentation

◆ 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 object belongs.
nameName of the object
metaclassMetaclass data of the object.
Returns
An ObjectRef that holds the created instance.

◆ registerStatusChange()

void registerStatusChange ( ActivityStatus  status,
StatusChangeHandler  handler 
)
protected

Registers a new activity status change handler.

You must be called in ActivityCodeBehind#registerStatusChangeOverride.

Parameters
statusPossible state of the activity nodes during activate and deactivate process.
handlerThe handler functor for the command.

◆ registerStatusChangeOverride()

abstract void registerStatusChangeOverride ( )
abstractprotected

Override this method to register status change handlers.

You must register every state change using ActivityCodeBehind#registerStatusChange. Kanzi registers the status change when it attaches the Activity that uses this code behind.

See also
ActivityStatus, ActivityCodeBehind#unregisterStatusChangeOverride

◆ unregisterStatusChange()

void unregisterStatusChange ( ActivityStatus  status)
protected

Unregisters an activity status change handler.

You must be called in ActivityCodeBehind#unregisterStatusChangeOverride.

Parameters
statusPossible state of the activity nodes during activate and deactivate process.

◆ unregisterStatusChangeOverride()

abstract void unregisterStatusChangeOverride ( )
abstractprotected

Override this method to unregister the registered status change handlers.

You must unregister every status change handler using ActivityCodeBehind#unregisterStatusChange. Kanzi unregisters the status change when it detaches the Activity that uses this code behind.

See also
ActivityStatus, ActivityCodeBehind#registerStatusChangeOverride