On Fri, 16 Jul 2021 13:30:28 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`.
>
> Kevin Rushforth has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Renamed updateTreeTable{Row,Column} to updateTable{Row,Column}

modules/javafx.controls/src/main/java/javafx/scene/control/TreeTableCell.java 
line 724:

> 722:      * @param tv the {@code TreeTableView} associated with this {@code 
> TreeTableCell}
> 723:      */
> 724:     public final void updateTreeTableView(TreeTableView<S> tv) {

The changes to the docs for this method were just formatting changes to match 
the corresponding changes to row and column methods (I did the same thing 
earlier for the property methods).

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

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

Reply via email to