<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
Most of it is the documentation, but there is also the need to find
and document any cases that could fail. My expectation is that those
are uninteresting corner cases.<br>
<br>
The documentation for the property adapter classes indicates that
its use is for inter-operating between JavaFX properties and
JavaBeans.<br>
<br>
We do have one system test that creates a modular test app that
mocks up a trivial use of a POJO class without the test app itself
using java.beans. It isn't actually testing beans, but rather
testing the ability of the property adapter classes to access the
user-provided class at all when the app is in a module. Adding a
dependency on java.desktop would be a trivial thing to do in that
test's module-info.java.<br>
<br>
-- Kevin<br>
<br>
<br>
<div class="moz-cite-prefix">On 11/18/2023 6:42 PM, Nir Lisker
wrote:<br>
</div>
<blockquote type="cite" cite="mid:CA+0ynh_cSSv-zUyBB=5Uwt74ZpOXon+xnmvWPZ+vFHsWD_N1+Q@mail.gmail.com">
<div dir="ltr">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="color:rgb(178,172,162)">Perhaps this is the right
time to move this forward?</span></blockquote>
<div><br>
</div>
<div>I don't see why not. Except for changing the `requires`
declaration in the module-info and mentioning it in the docs,
is there anything else that needs to be changed?</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sat, Nov 18, 2023 at
7:48 PM Kevin Rushforth <<a href="mailto:kevin.rushforth@oracle.com" moz-do-not-send="true" class="moz-txt-link-freetext">kevin.rushforth@oracle.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> We would need to validate the assertion that an app
can't doing anything useful without the app itself importing
and using java.beans from the java.desktop module.<br>
<br>
At a minimum this would need a CSR specifying this
additional requirement that the app must depend on
java.desktop in order to use the JavaFX beans property
adapter classes.<br>
<br>
If others think this is useful, we could consider this for
JavaFX 23.<br>
<br>
-- Kevin<br>
<br>
<div>On 11/18/2023 6:16 AM, Kevin Rushforth wrote:<br>
</div>
<blockquote type="cite">
<blockquote type="cite">Perhaps the module can be declared
'requires static'. </blockquote>
<br>
That was my thinking as well, which is captured in <a href="https://bugs.openjdk.org/browse/JDK-8240844" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://bugs.openjdk.org/browse/JDK-8240844</a><br>
<br>
Perhaps this is the right time to move this forward?<br>
<br>
-- Kevin<br>
<br>
<br>
<div>On 11/17/2023 4:06 PM, Nir Lisker wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Hi,<br>
</div>
<div><br>
</div>
<div>A previous discussion mentioned the removal of
AWT dependencies. One of the points that Kevin
brought up was</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> Refactor
Java Beans implementation in javafx.base such that
java.desktop is optional</blockquote>
<div><br>
</div>
<div>John and I looked at this some time ago when we
discussed the usage of the javafx base module
outside of JavaFX, as its observables/binding
capabilities are suitable for non-GUI applications,
which currently have to pull in GUI modules as
dependencies.</div>
<div><br>
</div>
<div>The dependency is used in the property.adapter
packages that bridge javafx.base properties with
Java Beans. I think that these classes are seldom
used.</div>
<div><br>
</div>
<div>What could be a way to deal with that dependency?
Perhaps the module can be declared 'requires
static'. Or extract the adapter packages into a
different "interop" module (javafx.javabeans) like
javafx.swing?</div>
<div><br>
</div>
<div>- Nir</div>
</div>
</blockquote>
<br>
</blockquote>
<br>
</div>
</blockquote>
</div>
</blockquote>
<br>
</body>
</html>