# Dynamic Handlers

Dynamic handlers are typically facilitated by code or package handlers such as [OpenHFTEventHandler](https://docs.rierino.com/configuration/broken-reference), [ScriptLoadedEventHandler](https://docs.rierino.com/configuration/broken-reference) or [JarLoadedEventHandler.](https://docs.rierino.com/configuration/broken-reference)

## Handler Codes

<figure><img src="https://1659095931-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcnDk3J1AzTgg2NFrGPlh%2Fuploads%2FGTceg27AHZp7Kf8boZvL%2FUI_Handler_Code.png?alt=media&#x26;token=553fcf79-5e3e-48be-93fe-a8d742c9b541" alt=""><figcaption><p>Handler Code UI</p></figcaption></figure>

Handler codes are code blocks which are compiled dynamically at run-time for highly specialized operations which can not be addressed with available event handlers. Handler codes have the following attributes:

* **Name:** Descriptive name of the code
* **Status:** Whether code is currently active or not
* **Description:** Detailed description of what the code does
* **Domain:** Domain of the code which allows deploying multiple codes using a single code handler
* **Engine:** Language / scripting engine to use (e.g. html, java)
* **Code:** Full script or class implementation body

For Java codes, additional attributes are applicable:

* **Class:** Fully qualified class name to be assigned to the code
* **Dependencies:** Extra jar files which shall be retrieved and deployed when compiling the code
* **Code:** Full Java class extending com.rierino.handler.EventHandler, including actionMap mappings to functions

## Handler Packages

<figure><img src="https://1659095931-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcnDk3J1AzTgg2NFrGPlh%2Fuploads%2FiDZ8NVu4rRWqrCPAX3Jh%2FUI_Handler_Package.png?alt=media&#x26;token=56180642-3d7b-467e-b18c-55144a689a15" alt=""><figcaption><p>Handler Package UI</p></figcaption></figure>

Handler packages are JAR packages of handler classes which are loaded dynamically at run-time, for use cases that are similar to handler codes. Handler packages have the following attributes:

* **Name:** Descriptive name of the package
* **Status:** Whether package is currently active or not
* **Description:** Detailed description of what the package does
* **Domain:** Domain of the package which allows deploying multiple packages using a single package handler
* **Files:** Jar files included in the package with Urls to download them (see [Custom Development](https://docs.rierino.com/configuration/broken-reference) for details)
* **Handlers:** Mapping of unique handler ids to fully qualified class names for handlers included in the package
