Skip to content

Extension points without annotations: plain interface + @Component, consumed via collection injection#3

Merged
iliyan-velichkov merged 2 commits into
masterfrom
feat/spring-style-extension-injection
Jun 22, 2026
Merged

Extension points without annotations: plain interface + @Component, consumed via collection injection#3
iliyan-velichkov merged 2 commits into
masterfrom
feat/spring-style-extension-injection

Conversation

@iliyan-velichkov

@iliyan-velichkov iliyan-velichkov commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Aligns the extension model with eclipse-dirigible/dirigible#6051: no @Extension/@ExtensionPoint annotations. SampleExtensionPoint is a plain interface; SampleContribution is a @Component("sample-contribution") implementing it (its @Component name is the contribution name). Consumed two ways:

  • Collection injection (preferred)InjectingConsumer takes a List<SampleExtensionPoint> constructor parameter; the bean container injects every contribution.
  • Programmatic lookupExtensionConsumer calls Extensions.find(SampleExtensionPoint.class).

Depends on eclipse-dirigible/dirigible#6051; CI fails until it merges. Merge after #6051.

🤖 Generated with Claude Code

iliyan-velichkov and others added 2 commits June 22, 2026 09:47
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ontribution = @component

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@iliyan-velichkov iliyan-velichkov changed the title Add collection-injection extension consumer (inject all implementations) Extension points without annotations: plain interface + @Component, consumed via collection injection Jun 22, 2026
@iliyan-velichkov iliyan-velichkov self-assigned this Jun 22, 2026
@iliyan-velichkov iliyan-velichkov merged commit da03ecc into master Jun 22, 2026
@iliyan-velichkov iliyan-velichkov deleted the feat/spring-style-extension-injection branch June 22, 2026 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant