> ProxyBuilder is used by the FXML loader to instantiate classes whose > constructors are annotated with `@NamedArg`. When such a class also exposes a > read-only `Map` property (e.g. getProperties() — the same pattern used by > `javafx.scene.Node`), setting child elements under that property in FXML > caused incorrect behaviour or a runtime error. > > **Root cause:** _getReadOnlyProperty()_ always returned an `ArrayListWrapper` > regardless of the actual **getter** return type. When the getter returns a > `Map`, an `ArrayListWrapper` is the wrong container and the entries are never > transferred to the real map on the object. > > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
Petr Štechmüller has updated the pull request incrementally with two additional commits since the last revision: - Use collection instead of List/Set pair - Update copyright headers ------------- Changes: - all: https://git.openjdk.org/jfx/pull/2167/files - new: https://git.openjdk.org/jfx/pull/2167/files/0b16c9ad..bf59143d Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=2167&range=03 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=2167&range=02-03 Stats: 546 lines in 17 files changed: 353 ins; 168 del; 25 mod Patch: https://git.openjdk.org/jfx/pull/2167.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/2167/head:pull/2167 PR: https://git.openjdk.org/jfx/pull/2167
