Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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",

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 for integer types.
  • max: A maximum value for integer 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
},