wuchong commented on PR #1992: URL: https://github.com/apache/fluss/pull/1992#issuecomment-3680260468
@polyzos Yeah, I noticed those typed classes. However, typed classes are internal, only **interfaces are visible to users**. My suggestion is to introduce **dedicated typed interfaces** (e.g., `interface TypedLookuper<T>`) that are **separate from the existing `Lookuper` interface**, rather than making `Lookuper` itself generic. While turning `Lookuper` into a generic interface would be *binary-compatible*, it would introduce **type erasure warnings in IDEs** and clutter the public API. More importantly, for use cases involving `InternalRow`, the generic type `T` has **no semantic meaning**, so forcing a type parameter there adds unnecessary noise without benefit. By keeping `Lookuper` and `TypedLookuper<T>` as distinct interfaces, we maintain clean separation of concerns: - `Lookuper` for low-level, type-agnostic access (e.g., `InternalRow`) - `TypedLookuper<T>` for high-level, type-safe lookups This approach preserves backward compatibility, avoids IDE warnings, and aligns with how users actually interact with the API. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
