On Tue, 13 Jul 2021 14:47:59 GMT, Kevin Rushforth <k...@openjdk.org> wrote:

> In the `TreeTableCell` class there is a mismatch between name of the 
> following property method vs the getter:
> 
> 
>     public final ReadOnlyObjectProperty<TreeTableRow<S>> tableRowProperty()
>     public final TreeTableRow<S> getTreeTableRow()
> 
> 
> The get method has "Tree" in the name while the property method does not.
> 
> By contrast, the corresponding methods for column are self-consistent, and 
> are named without "Tree" in the name:
> 
> 
>     public final ReadOnlyObjectProperty<TreeTableColumn<S,​T>> 
> tableColumnProperty()
>     public final TreeTableColumn<S,​T> getTableColumn()
> 
> 
> The solution is to effectively change `getTreeTableRow()` to `getTableRow()`. 
> In order to preserve source and binary compatibility, the method is copied 
> rather than renamed. The existing `getTreeTableRow()` method is deprecated 
> (not for removal).
> 
> Additionally, the docs for each property is on a private property field that 
> *does* have tree in the name, which results in no docs being generated for 
> either the `tableRow` or `tableColumn` property.
> 
> Finally, there is a problem with the implementation of the 
> `tableRowProperty()` method in that it returns the writable property by 
> mistake rather than the read-only property that is specified by the method's 
> return type.
> 
> In summary, the following changes are made to `TreeTableCell`:
> 
> 1. Deprecate the `getTreeTableRow` method.
> 2. Add a `getTableRow` method.
> 3. Rename the (private) property object fields from `treeTableRow` and 
> `treeTableColumn` to `tableRow` and `tableColumn`, including the name of the 
> bean, so that they match the public property method names. This will allow 
> API docs to be generated.
> 4. Change the implementation of the tableRowProperty() method to return a 
> read-only property.
> 
> In addition to changing the existing implementation and tests to call the new 
> `getTableRow` method instead of the now-deprecated `getTreeTableRow` method, 
> I added unit tests to validate changes 3 and 4.
> 
> NOTE: this is targeted to `jfx17`.

This will need a CSR.

@kleopatra would you be willing to be a second reviewer?

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

PR: https://git.openjdk.java.net/jfx/pull/575

Reply via email to