On Tue, 1 Oct 2024 21:46:21 GMT, Michael Strauß <mstra...@openjdk.org> wrote:

> Backgrounds and borders are comprised of immutable and final types. The 
> following types are marked with the `final` modifier:
> 
> * Background
> * BackgroundFill
> * BackgroundImage
> * BackgroundSize
> * Border
> * BorderWidths
> 
> The following types are not marked with the `final` modifier:
> 
> * BackgroundPosition
> * BorderImage
> * BorderStroke
> * CornerRadii
> 
> This is probably just an oversight, as there is no value in allowing a 
> subsection of these types to be extended.

modules/javafx.graphics/src/main/java/javafx/scene/layout/BackgroundPosition.java
 line 55:

> 53:  * @since JavaFX 8.0
> 54:  */
> 55: public final class BackgroundPosition implements 
> Interpolatable<BackgroundPosition> {

should we also declare the fields `final` as well?
horizontalSide, etc.

modules/javafx.graphics/src/main/java/javafx/scene/layout/BorderImage.java line 
53:

> 51:  * @since JavaFX 8.0
> 52:  */
> 53: public final class BorderImage implements Interpolatable<BorderImage> {

same question about final fields.

except for:
- innerEdge/outerEdge (used by border) and
- image use in Region:799 (could be accessed via getImage())

modules/javafx.graphics/src/main/java/javafx/scene/layout/BorderStroke.java 
line 51:

> 49:  * @since JavaFX 8.0
> 50:  */
> 51: public final class BorderStroke implements Interpolatable<BorderStroke> {

same suggestion with final fields, except innerEdge/outerEdge

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1587#discussion_r1784677173
PR Review Comment: https://git.openjdk.org/jfx/pull/1587#discussion_r1784686671
PR Review Comment: https://git.openjdk.org/jfx/pull/1587#discussion_r1784689839

Reply via email to