Task Element

A task element corresponds to a ‘verb’ in the literature. A task operates on a data element, and will execute some actions. These actions are not atomic by default, but can be configured as such. A Task will take the element it is working on, and return a task result. This result can either be a success, or a failure. While a task will mostly be used in workflows, it is important that tasks are implemented independent of the state of the data element it is working on.

Attribute Description Example 1 Example 2
Name A name to identify the task in PascalCase InvoiceSender InvoicePaymentReceiver
Package name The package name used to define expanded classes in java. Should follow Java guidelines for packages. be.uantwerpen.ee be.uantwerpen.ee
Type Type of task element (see Task Element Types) Standard Standard
Transaction type (since expanders 3.2.0) see Task Transaction Types atomicExternal atomicInternal
Target element The data element on which the task runs Invoice Invoice
Target class The details class of the data element on which the task will operate, typically structured as packageName.DataElementDetails (having a predefined value once the Target element has been selected) be.uantwerpen.ee.InvoiceDetails be.uantwerpen.ee.InvoiceDetails
Param class The details class of a data element can be added to pass an instance as extra parameter to the Task. The specific instance in configured in the StateTask in the workflow. This allows to run the same task with different parameter object. If included, typically structured as <packageName>.<TaskElementParams>

For each task, it is advised to add three options:



Release Expander version Change
201712 3.2.0 Added field ‘transactionType’