On Wed, 29 Nov 2023 21:09:37 GMT, Nir Lisker <nlis...@openjdk.org> wrote:

> But it's limited because it has been artificially limited. It's a special 
> case of `<T> List<T> combine(List<T>, T... items)`, which is a general 
> utility method. Just duplicating this method for specific `T`'s doesn't make 
> it more fitting for that scope.

Functional requirements aren't the only requirements that need to be 
considered. The CSS system only works well enough with some performance 
assumptions. As of now, performance requirements are not specified anywhere, 
but they are certainly implied by the implementation.

I think we have two options here:
1. Specify the performance requirements for `getCssMetaData` (and its 
associated `getClassCssMetaData`), and provide a utility method that makes it 
easy to create implementations that meet those requirements.
2. Enhance the CSS system (in this case, `CssStyleHelper`) such that the 
metadata gathered from public API is internally represented with data 
structures that decouple internal performance requirements from third-party 
implementations (basically, copy the metadata received from `getCssMetaData` 
into internal arrays or some other suitable data structure).

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

PR Comment: https://git.openjdk.org/jfx/pull/1296#issuecomment-1832725271

Reply via email to