On Wed, 23 Oct 2024 18:48:47 GMT, Kevin Rushforth <k...@openjdk.org> wrote:

>> Andy Goryachev has updated the pull request with a new target base due to a 
>> merge or a rebase. The incremental webrev excludes the unrelated changes 
>> brought in by the merge/rebase. The pull request contains 13 additional 
>> commits since the last revision:
>> 
>>  - Merge remote-tracking branch 'origin/master' into ag.text.layout.api
>>  - remove line spacing
>>  - tests
>>  - whitespace
>>  - caret info
>>  - text line info
>>  - Merge remote-tracking branch 'origin/master' into ag.text.layout.api
>>  - convert to wrapper
>>  - clarify
>>  - javadoc
>>  - ... and 3 more: https://git.openjdk.org/jfx/compare/3e3b66a1...5ab4f47a
>
> modules/javafx.graphics/src/main/java/javafx/scene/text/CaretInfo.java line 
> 34:
> 
>> 32:  * @since 24
>> 33:  */
>> 34: public sealed abstract class CaretInfo permits PrismCaretInfo {
> 
> Given the API you define, is there a reason not to make this an interface?

Originally it was an interface.  Then @prrace said "Why an interface ? It is 
easier to evolve a class when you want to add more info."

Since this thing is sealed, it probably does not matter, and access to class 
methods is _two_ nanoseconds faster (not that's important).

The only good thing about interface is the ease of mocking in testing, but we 
don't do that.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1596#discussion_r1813884704

Reply via email to