We thought about it when this was added. We decided against it because
these are overrides-in-spirit. Letting them be private would be misleading
because they are called from outside the class and should be thought of in
that way.

Also, this seems similar to others in the Java ecosystem: JUnit test
methods are public as well.

What is the motivation for allowing private methods?


On Tue, Jan 17, 2017, 7:33 AM Stas Levin <stasle...@gmail.com> wrote:

Hi,

At the moment only public methods are eligible to be decorated with
@ProcessElement (DoFnSignatures#findAnnotatedMethod).

Seems that from a technical point of view, it would be quite possible to
consider private methods as well. In fact, it's one of the benefits of
moving towards an annotation based discovery as opposed to an interface
based one.

Do you think being able to decorate non-public methods with @ProcessElement
(and similar annotations) is something we'd like to support?

Regards,
Stas

Reply via email to