A flow component descriptor contains a description and the meta data of a flow component. It is stored in a file descriptor.json
at the top level of the flow component's directory:
...
A text field that contains a short description of the flow component. This will be displayed in a tool tip in flow editor when hovering over it.
Example:
"description": "Input on a queue with optional selector, regular or wiretap consumer.",
...
Per default, the label of a flow component is the name when it is placed into a flow. If the component should display a value of a property, the labelproperty field can be specified and must point to the name of a property in this descriptor:
Example:
"labelproperty": "queuename",
links
The links
field is a JSON structure that describes the input and output connectors of the flow component.
...
The input
field is a JSON array with link definitions:
Example:
"input": [
{
"name": "In",
"type": "message",
"mandatory": true
}
],
name
is the unique name of the connector. type
is the connector type. It can be any string. mandatory
states whether this connector must be connected (default is false
).
...
The output
field is a JSON array with link definitions:
Example:
"output": [
{
"name": "Out",
"type": "message"
}
]
name
is the unique name of the connector. type
is the connector type. It can be any string. mandatory
states whether this connector must be connected (default is false
).
...
The outputdepend
field is a JSON structure that points to a property of type array
. Output connectors are built dynamically from the content of the array:
Example:
"outputdepend": {
"name": "values",
"type": "message"
}
name
is the name of the property of type array
. type
is the connector type. It can be any string. mandatory
states whether this connector must be connected (default is false
).
...
The input
field is a JSON array with reference definitions:
Example:
"input": [
{
"name": "Memory",
"type": "memory",
"mandatory": true
}
]
name
is the unique name of the reference. type
is the reference type. It can be any string. mandatory
states whether this reference must be connected (default is false
).
...
The output
field is a JSON array with reference definitions:
Example:
"output": [
{
"name": "Property",
"type": "property",
"mandatory": false
}
]
name
is the unique name of the reference. type
is the reference type. It can be any string. mandatory
states whether this connector must be connected (default is false
).
...
Each entry in the array is a JSON structure with the following fields:
name
: Unique name of the property.label
: Label of the property.description
: A short text to describe the property.type
: The type of the property. These types are predefined:string
,integer
,boolean
,identifier,destination
,choice
,array.
min
: A minimum value forinteger
types.max
: A maximum value forinteger
types.default
: A default value that is used if the property is not mandatory and no value is entered by the user.
type: string
The user can enter any character.
...
This is a string, limited by a JSON array that contains the choice values. Example:
{
"name": "timeunitchangeunit",
"label": "Unit",
"type": "choice",
"choice": [
"Second",
"Minute",
"Hour",
"Day",
"Week",
"Month",
"Year"
]
}
...
This is an array where the user can add elements. The array can optionally have an associated fieldtypes JSON array that contains possible field types that can be entered into the array. Example:
{
"name": "indexes",
"label": "Create Indexes for properties",
"type": "array",
"description": "Creates an index for faster lookup for this property names.",
"fieldtypes": [
"identifier"
],
"mandatory": false
},