Skip to content

Engine: Consolidate CapabilityStatement builder pattern#1200

Merged
kennethmyhra merged 11 commits intoFirelyTeam:r4/masterfrom
kennethmyhra:use-capabilitystatement-builders
Apr 26, 2026
Merged

Engine: Consolidate CapabilityStatement builder pattern#1200
kennethmyhra merged 11 commits intoFirelyTeam:r4/masterfrom
kennethmyhra:use-capabilitystatement-builders

Conversation

@kennethmyhra
Copy link
Copy Markdown
Collaborator

Move away from the static pattern CapabilityStatementBuilder to the fluent instance-based CapabilityStatementBuilder and family of builders.

Condition should be 'publisher != null', not 'publisher == null'.
Replace factory-style Func<TComponent> overloads on
CapabilityStatementBuilder and RestComponentBuilder with
Func<TBuilder, TBuilder> delegates. Callers now receive a
pre-constructed builder instance and no longer need to manually
instantiate the builder or call .Build().

Updated CapabilityStatementBuilderTests to use the new fluent
signatures.
Introduce ServerVersion record with Major, Minor, Patch and optional
PreRelease components. ToString() produces 'Major.Minor.Patch' or
'Major.Minor.Patch-PreRelease'. An implicit string operator allows
seamless use wherever a string is expected.

SparkSettings.Version now returns ServerVersion, parsing file version
parts from the assembly and extracting any pre-release suffix from the
AssemblyInformationalVersion attribute.
Move away from the old static CapabilityStatementBuilder to Spark's
family of Capability Statement Builders.
@kennethmyhra kennethmyhra merged commit 825c542 into FirelyTeam:r4/master Apr 26, 2026
5 checks passed
@kennethmyhra kennethmyhra deleted the use-capabilitystatement-builders branch April 26, 2026 20:31
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