Hi everyone,
I'm currently thinking about how to implement FLINK-8606. The reason
behind it is that Java users are able to see all variables and methods
that are declared 'private[flink]' or even 'protected' in Scala. Classes
such as TableEnvironment look very messy from the outside in Java. Since
we cannot change the visibility of Scala protected members, I was
thinking about a bigger change to solve this issue once and for all. My
idea is to convert all TableEnvironment classes and maybe the Table
class into traits. The actual implementation would end up in some
internal classes such as "InternalTableEnvironment" that implement the
public traits. The goal would be to stay source code compatible.
What do you think?
Regards,
Timo