Can someone refer me to discussion of this design question?
Why was processElement turned from an abstract method in Dataflow to an annotation in Beam? <https://beam.apache.org/documentation/sdks/javadoc/0.5.0/org/apache/beam/sdk/transforms/DoFn.ProcessElement.html> The JavaDocs for ProcessElement say: <https://beam.apache.org/documentation/sdks/javadoc/2.2.0/org/apache/beam/sdk/transforms/DoFn.ProcessElement.html> A subclass of *DoFn* must have a method with this annotation. The signature of this method must satisfy the following constraints: - Its first argument must be a * DoFn.ProcessContext*. - If one of its arguments is a subtype of *RestrictionTracker*, then it is a splittable ... - It must return void Such a specification is exactly what a type declaration is meant to do -- it seems that a method, rather than an annotation, is just right for this purpose. -- *JOSHUA FOX* Principal Software Architect | Freightos *T (Israel): *+972-545691165 | *T (US)*: +1-3123400953 Smooth shipping.
