Chia-Ping Tsai created KAFKA-20958:
--------------------------------------

             Summary: Introduce internal accessor pattern to encapsulate 
cross-package APIs
                 Key: KAFKA-20958
                 URL: https://issues.apache.org/jira/browse/KAFKA-20958
             Project: Kafka
          Issue Type: Improvement
            Reporter: Chia-Ping Tsai
            Assignee: Chia-Ping Tsai


Currently, to allow cross-package instantiation or state access for internal 
Kafka components, we either:

# Leak internal classes (like Time) in public constructors.
# Expose properties as protected.

We should introduce the Internal Accessor / Factory Pattern (using 
package-private scopes and `@InterfaceAudience.Private` helper classes) to 
cleanly encapsulate these. 

Subsequently, we will deprecate the leaked public constructors/methods to 
ensure we can remove them in 5.0.

related discussion:
https://lists.apache.org/thread/1kmyqody36dhnzj5ph858zsfpl4qhm7l
https://github.com/apache/kafka/pull/21337#discussion_r3574009798




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to