Versions Compared

Key

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

...

You need to define parameters if the operator should be configurable while building a continuous query. A parameter can be optional and consists of a data type and a name.

 

Code Block
titleExample
operator ODLSelect(outputMode = "INPUT", minInputPorts = 1, maxInputPorts = 1){   

    parameter IPredicate predicate;

    optional parameter int heartbeatrate;

}

 

Note that not every data type can be used for a parameter because each data type must have a corresponding parameter class in Odysseus. The following table shows the available data types:

Data typeParameter class
String

StringParameter

FileNameParameter

HttpStringParameter

BooleanBooleanParameter
ByteByteParameter
IntegerIntegerParameter
DoubleDoubleParameter
LongLongParameter
Resource

ResourceParameter

AccessAOSourceParameter

AggregateItem

AggregateItemParameter

BitVector

BitVectorParameter

RenameAttribute

CreateAndRenameSDFAttributeParameter

SDFAttribute

CreateSDFAttributeParameter

ResolvedSDFAttributeParameter

File

ValidatedFileNameParameter

IMetaAttribute

MetaAttributeParameter

IPhysicalOperator

PhysicalOperatorParameter

IPredicate

PredicateParameter

NamedExpression

SDFExpressionParameter

AccessAO

SourceParameter

TimeValueItem

TimeParameter

Some data types have more than one corresponding parameter class. In these cases you can optionally set a parameter class as a metadata of a parameter. Please look at the Parameter-Interface of Odysseus for more available metadata.

Code Block
titleExample
operator ODLProject(outputMode ="MODIFIED_INPUT", minInputPorts = 1, maxInputPorts = 1){    
    
    parameter(type=ResolvedSDFAttributeParameter) SDFAttribute[] attributes;
          
}