eric-maynard commented on code in PR #2007:
URL: https://github.com/apache/polaris/pull/2007#discussion_r2192994774
##########
polaris-core/src/main/java/org/apache/polaris/core/config/PolarisConfiguration.java:
##########
@@ -124,6 +124,18 @@ T cast(Object value) {
return this.typ.cast(value);
}
+ public String key() {
+ return key;
+ }
+
+ public String description() {
+ return description;
+ }
+
+ public T defaultValue() {
+ return defaultValue;
+ }
Review Comment:
> I think having public fiends in general is not a good idea.
I'm not sure if I find that a compelling enough reason to make this change.
It's generally considered a good idea because it affords you more flexibility
to change the behavior of e.g. `key()` without breaking an API, but
1. In this case, we're proposing to actually break the API by removing
public field `key`
2. Do we actually want to support that kind of flexibility? If so let's make
this change, but originally my intent was to enforce that the child types have
only a "plain" implementation of e.g. `key`.
> Since the fields are all final, why shouldn't catalogConfigImpl,
catalogConfigUnsafeImpl, and typ be public?
Those fields don't have a use outside this class.
--
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]