Github user mushketyk commented on the issue:
https://github.com/apache/flink/pull/3039
I don't think we will win a lot with this. Even if we remove these two
methods from the `TableSource` trait interface there is still `getTypeIndices`
method and Java users will have to call it if they are going to implement a
`TableSource` trait. And if a user knows how to inherit a trait with one method
he/she will be able to inherit a trait with three methods.
The second problem with this approach is that it's not really
Object-Oriented. We will have to rely on reflection tricks (probably sugared
with pattern matching) while we simply having three methods is more clean OO
solution.
What if we leave all three methods and simply add some base Java
implementations that already implement these traits? Something like
`JavaBatchTableSource`, `JavaStreamTableSource`, and
`JavaBatchStreamTableSource`? Then users will not need to struggle with the
traits inheritance issues.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---