...
As mentioned before, the definition of an operator can contain a parameter. More precisely, the parameter is a list of parameters and is encapsulated via two curly brackets:
OPERATOR({parameter1, paramter2, …}, operatorinput)
A parameter itself exists of a name and a value that are defined via a "=". For example, if we have the parameter port and want to set this parameter to the 1234, we use the following definition:
OPERATOR({port=1234}, …)
The value can be one of the following simple types:
- Integer or long:
OPERATOR({port=1234}, …)
- Double:
OPERATOR({possibility=0.453}, …)
- String:
OPERATOR({host='localhost'}, …)
Furthermore, there are also some complex types:
- Predicate:
...
- A predicate is normally an expression that can be evaluated and returns either true or false. In general, a predicate is defined by via a function with a string, e.g.:
OPERATOR({port=RelationalPredicte('1<1234')}, …)
This example uses the RelationalPredicate, which also can be replaced by other predicates.
- List:It is also possible to pass a list of values. For that, the values have to be surrounded with squared brackets:
...