Dropping final punctuation

By modifying the operator model, primitive operators can automatically drop forwarded final punctuation. This action is useful for changing the default runtime behavior for forwarding final punctuation.

One scenario where you may want to drop final punctuation is when you want to close an output port (by explicitly submitting a final marker) based on its internal state instead of basing it on punctuation that comes from input ports. The following example shows a segment of an operator model where the operator drops all final punctuation (line 08). You can also specify the exact ports in which automatic forwarding must be disabled.

01: <outputPorts>
02:   <outputPortOpenSet>
03:     <expressionMode>Nonexistent</expressionMode> 
04:     <autoAssignment>false</autoAssignment>
05:     <completeAssignment>false</completeAssignment>
06:     <rewriteAllowed>false</rewriteAllowed>   
07:     <windowPunctuationOutputMode>Generating</windowPunctuationOutputMode>
08:     <finalPunctuationPortScope/>
09:     <tupleMutationAllowed>false</tupleMutationAllowed>
10:   </outputPortOpenSet>    
11: </outputPorts>