Github user mbalassi commented on the issue: https://github.com/apache/flink/pull/2094 As @fhueske and @StephanEwen has suggested I have refactored @ggevay's code and now instead of adding two methods to the `TypeInformation` I have moved the functionality to a `FieldAccessorFactory` class. To achieve this I had to move the code back to `flink-streaming-java` as the static factory needs to import `scala.Product` to implement the functionality for case classes. Given that a scala dependency is better avoided at this point in `flink-core` and `flink-streaming` already has the scala dependency I felt the most comfortable with this approach. If we decide to use the `FieldAccessor`s in other parts of the system we might need to revert back to Gabor's previous approach based on inheritance instead of the current static monstrosity, so that we can separate the scala utilities into their respective projects. I have also addressed Fabian's inline comments.
--- 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. ---