rschmitt commented on PR #719: URL: https://github.com/apache/httpcomponents-client/pull/719#issuecomment-3615199975
> @rschmitt That seems to imply that public API classes would have some implementation code in them that needed to be kept private / not exposed to the API consumers, because here is nothing stopping classes in impl from re-using package private code within that package. To clarify, my concern with an `impl` package is that at least one API in it needs to be declared `public` in order to facilitate internal calls within the client, and those public APIs could conceivably be declared package-private instead if they were in the same Java package as the caller. I think this aspect of code organization is frequently overlooked, which is one reason why every mature Java library ends up adding its own `@Internal` annotation. The other reason is Java's crude language-level visibility mechanisms. (Jigsaw fixes this, but I think it was delivered too late to matter much.) -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
