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]

Reply via email to