Daniele Cremonini created BEAM-11927:
----------------------------------------
Summary: Parameter should be used instead of argument in the
Annotation Type DoFn.ProcessElement documentation
Key: BEAM-11927
URL: https://issues.apache.org/jira/browse/BEAM-11927
Project: Beam
Issue Type: Bug
Components: beam-community
Affects Versions: 2.28.0
Reporter: Daniele Cremonini
Assignee: Aizhamal Nurmamat kyzy
In the Javadoc of Annotation Type DoFn.ProcessElement published here
[https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/DoFn.ProcessElement.html]
contains the text below.
Red instances of the {color:#FF0000}arguments{color} word should be replaced
with the {color:#00875a}parameters{color} one. The reason is that the text
speaks about the method signature and its parameters (that is formal
parameters) while arguments are actual parameters.
---
If any of the arguments is a
[{{RestrictionTracker}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/splittabledofn/RestrictionTracker.html]
then see the specifications below about splittable
[{{DoFn}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/DoFn.html],
otherwise this method must satisfy the following constraints:
* If one of its {color:#de350b}arguments{color} is tagged with the
[{{DoFn.Element}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/DoFn.Element.html]
annotation, then it will be passed the current element being processed. The
argument type must match the input type of this DoFn exactly, or both types
must have equivalent schemas registered.
* If one of its {color:#de350b}arguments{color} is tagged with the
[{{DoFn.Timestamp}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/DoFn.Timestamp.html]
annotation, then it will be passed the timestamp of the current element being
processed; the argument must be of type
[{{Instant}}|https://static.javadoc.io/joda-time/joda-time/2.10.5/org/joda/time/Instant.html?is-external=true].
* If one of its {color:#de350b}arguments{color} is a subtype of
[{{BoundedWindow}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/windowing/BoundedWindow.html],
then it will be passed the window of the current element. When applied by
[{{ParDo}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/ParDo.html]
the subtype of
[{{BoundedWindow}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/windowing/BoundedWindow.html]
must match the type of windows on the input
[{{PCollection}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/values/PCollection.html].
If the window is not accessed a runner may perform additional optimizations.
* If one of its {color:#de350b}arguments{color} is of type
[{{PaneInfo}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/windowing/PaneInfo.html],
then it will be passed information about the current triggering pane.
* If one of the parameters is of type
[{{PipelineOptions}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/options/PipelineOptions.html],
then it will be passed the options for the current pipeline.
* If one of the parameters is of type
[{{DoFn.OutputReceiver}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/DoFn.OutputReceiver.html],
then it will be passed an output receiver for outputting elements to the
default output.
* If one of the parameters is of type
[{{DoFn.MultiOutputReceiver}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/DoFn.MultiOutputReceiver.html],
then it will be passed an output receiver for outputting to multiple tagged
outputs.
* If one of the parameters is of type
[{{DoFn.BundleFinalizer}}|https://beam.apache.org/releases/javadoc/2.28.0/org/apache/beam/sdk/transforms/DoFn.BundleFinalizer.html],
then it will be passed a mechanism to register a callback that will be invoked
after the runner successfully commits the output of this bundle. See [Apache
Beam Portability API: How to Finalize
Bundles|https://s.apache.org/beam-finalizing-bundles] for further details.
* It must return {{void}}.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)