RFR: 8345348: CSS media feature queries [v23]

Kevin Rushforth kcr at openjdk.org
Wed May 7 14:46:32 UTC 2025


On Wed, 7 May 2025 14:35:34 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

>> No, the instance of `PreferenceProperties` is only stored as a private field in `PlatformPreferences`. I'm usually using public methods in nested classes to indicate that the method is supposed to be called from outside of the nested class. That's not strictly necessary, but I think it serves to differentiate them from "purely" private methods.
>
> let me try again:
> 
> `Platform.getPreferences()` returns an instance of `PlatformPreferences`
> `PlatformPreferences.colorSchemeProperty()` returns a `ColorSchemeProperty` with a public `updateEffectiveValue()`
> 
> the app can use reflection to invoke a public method, though admittedly in a convoluted way.

No, an application would not be able to do that. A getter whose implementation happens to return a subtype in a non-exported package does not allow the caller of that getter to access any methods in the non-exported class (even public ones). If it did, then you could never return a type that implements an interface, since all interface methods are public.

@mstr2 is right. There is no problem here that I can see.

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/1655#discussion_r2077805709


More information about the openjfx-dev mailing list