On Mon, 31 Jul 2023 18:29:19 GMT, Michael Strauß <mstra...@openjdk.org> wrote:
>> modules/javafx.graphics/src/main/java/com/sun/javafx/css/TransitionDefinition.java >> line 54: >> >>> 52: */ >>> 53: public TransitionDefinition(String propertyName, Duration duration, >>> 54: Duration delay, Interpolator >>> interpolator) { >> >> I think you should not repeat the parameters here, just use: >> >> Suggestion: >> >> public TransitionDefinition { >> >> >> I would also move the "@throws" documentation tags to the record class >> definition > > The constructor ensures that any spelling of "ALL" is converted to the > interned constant "all", which is important as we would otherwise need a more > computationally expensive case-insensitive string comparison in > `Node.Transitions.find()`. > Removing the constructor would mean that some unrelated piece of code would > need to do this conversion. > > The `@throws` tag is not allowed at the class level. I meant that you can use the short form of the constructor (without repeating the parameters): public record TransitionDefinition(String propertyName, Duration duration, Duration delay, Interpolator interpolator) { public TransitionDefinition { // no parameters necessary (short form constructor) // do checks and assignments here } } ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/870#discussion_r1280452828