RuleAPI:Flow commands

From FlexRule Wiki
Jump to: navigation, search


Flow commands

These commands handle the logic of a flow. A flow logic may have some rule parameters defined by a Declaration command.

Start

Every flow must have a Start node that shows the beginning of the flow life cycle.

View signature

End

This ends the flow and is the flow execution terminator. No further action will take place after reaching this node.

View signature

Split

When there are couple of options in the flow logic that may or may not be executed by the rule, this node will help you to design the decision based on priority of nodes or evaluating the node`s transition condition. Each split command may contain one or more nodes.

View signature

Join

Each Join command has to be joined after finishing.

View signature

Activity

This is the actual action that will occur in a flow logic. It is the extension point of the flow rules. You can extend this node to accomplish different tasks during the flow execution. Out of the box, you can execute a Procedural rule by referring the rule address.

View signature

MultiExpression

This is similar to Activity, but allows flow to evaluate multiple expressions as a group on the execution of a node.

View signature


Decision

This is when the node acts like an If command, but can be used in flow logic.

View signature

Assign

This node acts like a Var command and assigns a value to a defined variable.

View signature

Suspend

When there is a long running process, this node in the flow will cause the process to get suspended. Your application will be able to resume the flow from this point onwards.

View signature

Throw

This node in the flow will throw an exception and makes the executing flow go to a Fault state. You may use this command in the flow to terminate the flow execution for a specific reason.

View signature

Composite

A composite node is a composite of different activities that will be merged during the loading of the flow. This node can act as a sub-flow to call other flows.

View signature

SubFlow

A sub flow is a way to run an external Flow as part of a running flow by referring to the address of the external flow.

View signature

CallNaturalLanguage

Allows a call to a Natural Language (NL) document.

View signature

CallDRD

Allows a call to a Decision Requirement Diagram (DRD) document.

View signature

CallDecisionTable

Allows a call to a Decision Table (DT) document.

View signature

Group

Group commands in the flow are a set of nodes that are the containers for other nodes. They can contain one or more nodes and pass the execution to initialNode. When the execution reaches the finalNode, the container`s outgoing transition will be activated.

Try

View signature

Loop

View signature

Transaction

View signature

Scope

View signature

Pool

View signature

Data Sources

Database

When loading data from a database is required, you can use this node. It can be any standard or a custom database.

The Database command in Flow is the same command that is used by Procedural logic.

View signature

In a Flow Database integration, the commands below are supported:

Spreadsheet

This node allows loading of data from a Spreadsheet and CSV files.

View signature

REST Client

This command (CallREST) in flow allows you to communicate with any REST end point.

View signature

File

This node allows the loading of different files (text, binary, lines, XML and JSON) from a location.

View signature