refactor: deprecate DataCommunicatorBuilder and its constructors#9667
Merged
Conversation
Prepare for Vaadin 26, where DataCommunicatorBuilder will be replaced by a createDataCommunicator() method (#9664). Add createDataCommunicator() now so it's available as an override point already, and deprecate DataCommunicatorBuilder and the constructors that accept it. Existing constructors keep their current behavior unchanged: the builder-based constructors store the given builder and createDataCommunicator() uses it, preserving backward compatibility for anyone with a custom DataCommunicatorBuilder. Related to #9664 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
884711d to
e1b2883
Compare
Add getCompositeDataGenerator() alongside the existing getArrayUpdater(), and use it in createDataCommunicator() instead of accessing the private field directly. Rename the backing field from gridDataGenerator to compositeDataGenerator to match its type and the new getter name. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
e1b2883 to
da707e6
Compare
DiegoCardoso
reviewed
Jul 6, 2026
Comment on lines
+1737
to
+1742
| /** | ||
| * Creates the {@link DataCommunicator} that this Grid uses to handle all | ||
| * data communication. | ||
| * | ||
| * @return the new data communicator | ||
| */ |
Contributor
There was a problem hiding this comment.
Should we add a @since 25.3 mention here and in the other method below?
Contributor
Author
|
@copilot Please re-format the code |
Contributor
Done in 5fd2a0a (style: apply spotless formatting). The only change was reflowing a Javadoc line in |
DiegoCardoso
approved these changes
Jul 6, 2026
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




This PR deprecates DataCommunicatorBuilder together with the constructors that accept it in Grid and TreeGrid, and introduces a
createDataCommunicator()method to Grid as a new override point.Existing constructors keep their current behavior unchanged: the deprecated builder-based constructors store the builder in a field, and
createDataCommunicator()uses it, which preserves backward compatibility for anyone with a custom DataCommunicatorBuilder.A new
getCompositeDataGenerator()getter is added as well: it keeps the grid's composite data generator accessible forcreateDataCommunicator()overrides, since with DataCommunicatorBuilder deprecated, there would otherwise be no way to pass it into DataCommunicator.