Data Classes

This chapter deals with Axon Ivy Data Classes. A Data Class generally holds the data that flows through your business or User Dialog process. You can build complex data structures in your Data Classes. Use composition to split up your data if the amount of your data is getting large.

Types of Data Classes

There are four kinds of Data Classes in Axon Ivy.

Global Data Classes

The global Data Classes are located in the Data Class node in your project tree. They are accessible in your project and projects depending on it.

User Dialog Data Class

Each User Dialog has its Data Class. This class holds the data that flows through your User Dialog process. In your User Dialog Data Class, you can define attributes with a type of a global Data Class. The User Dialog Data Class is visible only in the associated User Dialog Process.

Web Service (WS) Data Classes

Axon Ivy generates a Web Service Data Class automatically when you create a Web Service configuration. The Web Service Data Class, like a global Data Class, is accessible in your project and projects depending on it. Use this Data Class to communicate with your Web Services.

Entity Classes

Entity Classes are like Global Data Classes but with additional information on where and how to store the data of a class and its attributes to a relational database.

New Data Class Wizard

The New Data Class wizard lets you create a new global Data Class. Start the wizard by selecting File > New > Data Class.

New Data Class Wizard

New Data Class Wizard

Features

Project Name

Choose the project, to which the new Data Class should belong.

Namespace

Choose a namespace for your Data Class. The namespace lets you create a structure to organize your data. Use the dot character ‘.’ to separate the folders. The namespace will be visible in the Axon Ivy project tree.

Data Class Name

Enter the name of your Data Class.

Data Class Editor

Use this editor to add, delete, and edit your Data Class and its attributes.

Data Class Editor

Data Class Editor

Note

If you open an Entity Class, additional properties are configurable in this editor. They are documented in the Entity Class Editor.

Note

If you are familiar with the Data Class editor from previous versions, you can still use it by selecting Open With > Data Class Editor (Classic) in the context menu of the Data Class.

Features

When you have no attribute selected, you can view and edit the properties of the Data Class.

Name / Description
Name

Shows the fully qualified name of the Data Class. To change the name, perform the “Rename” refactoring by selecting “Rename” in the context menu of the Data Class in your project tree.

Description

Use this field to document your Data Class.

Annotations

Use annotations on your Data Class for advanced configuration. The annotations will be written as is into the generated Java file. Therefore, you need to use the fully qualified name of the annotation and provide all desired arguments.

Class type

Change the type of your Data Class:

Attributes

The attributes specify the Data Class contents. Select an attribute in the table to view and edit its properties.

Name / Type / Comment
Name

The name of your attribute. The name must not contain any special characters or spaces.

Type

The type of your attribute. Press Data Type Browser Button to open the Data Type Browser.

Comment

Use this field to document your attribute.

Properties
Persistent

Decide if the data should be persistent between task switches. If the data is not set to be persistent, then you lose all information if the execution of the process passes a task switch process element.

Annotations

Use annotations on your attributes for advanced configuration. The annotations will be written as is into the generated Java file. Therefore, you need to use the fully qualified name of the annotation and provide all desired arguments.

Attribute Refactoring

The Data Class editor supports Data Class attribute refactoring.

Combine Attributes Refactoring

Over time, the number of attributes in a Data Class may become excessive. This decreases the maintainability and reusability of your process logic. Therefore, the editor allows you to combine multiple attributes from an existing Data Class into a new Data Class. The combined attributes will be replaced with a delegate attribute for the new Data Class.

If you have a Data Class that describes a person, you could combine the attributes that belong to the address part into an extra address Data Class.

Data Class before refactoring

Data Class before refactoring

Data Class after refactoring

Data Class after refactoring

Start Refactoring

Select the attributes to combine in the table, then press Combine Attributes Button to open the refactoring wizard.

Define the new Data Class

The first refactoring wizard page lets you define the location and name of the Data Class.

Wizard Page 1 - Define the new Data Class

Wizard Page 1 - Define the new Data Class

Review modifications

The second page previews all changes that will be applied to your artifacts. You can inspect some of the changes within the textual compare view on the lower part of the page.

Wizard Page 2 - Review modifications

Wizard Page 2 - Review modifications

The refactoring will modify all programmatic references to attributes. Statements written in Java, IvyScript, JSP or El-Expressions may be changed by this refactoring.