On Thu, 2 Nov 2023 19:05:27 GMT, Nir Lisker <nlis...@openjdk.org> wrote:

>> Michael Strauß has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   changend bool comparison
>
> modules/javafx.graphics/src/main/java/com/sun/javafx/application/preferences/PlatformPreferences.java
>  line 198:
> 
>> 196:      * @throws NullPointerException if {@code preferences} is {@code 
>> null}
>> 197:      */
>> 198:     public void update(Map<String, Object> preferences) {
> 
> I want to make sure I understand the exact details of the update rules. Is 
> this correct?
> 
> For each key in `preferences`:
> * if it exists in `effectivePreferences`:
>     * if the values are the same, there is no change (`preferences` contains 
> all mapping and not just the changes)
>     * if the value in `preferences` is `null`, then this is a removal 
> operation (because the value of `effectivePreferences` can't be `null`)
>     * if the value in `preferences` is not `null` and not the same, then this 
> is an update operation
> * if it doesn't exist in `effectivePreferences`:
>     * if the value in `preferences` is not `null`, then this is an add 
> operation
>     * can the value in `preferences` be `null`?

That's correct.

> can the value in preferences be `null`?

It could be `null` (signalling a removal), but then that's a no-op if the key 
wasn't present in `effectivePreferences`.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1014#discussion_r1380664150

Reply via email to