Skip to content

refactor!: remove DataCommunicatorBuilder abstraction#9664

Draft
vursen wants to merge 3 commits into
mainfrom
refactor/grid-data-communicator-builder
Draft

refactor!: remove DataCommunicatorBuilder abstraction#9664
vursen wants to merge 3 commits into
mainfrom
refactor/grid-data-communicator-builder

Conversation

@vursen

@vursen vursen commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Remove the DataCommunicatorBuilder indirection and the generic <U, B> constructor overloads it required. Grid and TreeGrid now build their DataCommunicator by overriding a simple createDataCommunicator() method instead of passing a builder instance through the constructor chain.

Depends on

@vursen vursen added requires new major This would be a breaking change v26 To be done in V26 labels Jul 3, 2026
@vursen vursen changed the title refactor!: replace DataCommunicatorBuilder with createDataCommunicator() refactor!: remove DataCommunicatorBuilder abstraction Jul 3, 2026
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>
vursen and others added 2 commits July 3, 2026 14:06
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>
Remove the DataCommunicatorBuilder indirection and the generic <U, B>
constructor overloads it required. Grid and TreeGrid now build their
DataCommunicator by overriding a simple createDataCommunicator()
method instead of passing a builder instance through the constructor
chain.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@vursen vursen force-pushed the refactor/grid-data-communicator-builder branch from 147fcf5 to 1c19e10 Compare July 3, 2026 11:01
@vursen vursen changed the base branch from main to deprecate/grid-data-communicator-builder July 3, 2026 11:01
@sonarqubecloud

sonarqubecloud Bot commented Jul 3, 2026

Copy link
Copy Markdown

Base automatically changed from deprecate/grid-data-communicator-builder to main July 6, 2026 14:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

requires new major This would be a breaking change v26 To be done in V26

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant