On Mon, 7 Apr 2025 18:30:47 GMT, Andy Goryachev <ango...@openjdk.org> wrote:

> > Can this class be sealed?
> 
> Theoretically, yes, but what problem would that solve?
> 
> I can understand when sealing would make the platform more secure, but in 
> this case I see no value whatsoever. Could you give me an example where 
> sealing the `LayoutInfo` class might help?

I think a class should always be final or sealed by default, no further 
justification required (it's one of the defaults the Java language arguably got 
wrong). Justification should be given for a class to be extensible, as that 
will invariably add to the incompatibility budget required for future changes. 
Designing a class for extensibility is also usually very different from 
designing a sealed class, and there are many examples in JavaFX where careless 
extensibility leads to problems down the line.
 
> edit: I can see the value of sealing in some security context, but I really 
> dislike how this exposes the internals via `permits`.

How so? You can't do anything with non-exported permitted subclasses, so it's 
not leaking anything in that sense. Javadoc also doesn't show you non-exported 
permitted classes.

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

PR Comment: https://git.openjdk.org/jfx/pull/1596#issuecomment-2784268100

Reply via email to