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