Skip to content

Support aliased type designators - #6

Closed
gouttegd wants to merge 1 commit into
mainfrom
alias-type-designators
Closed

Support aliased type designators#6
gouttegd wants to merge 1 commit into
mainfrom
alias-type-designators

Conversation

@gouttegd

Copy link
Copy Markdown
Owner

This PR lays the groundwork for allowing resolution of type designators using a custom set of aliases, instead of only the name and/or the URI of a class.

It introduces a new ITypeDesignatorResolver interface, and breaks down the existing TypeDesignatorResolver class into two parts:

  • a new DefaultTypeDesignatorResolver class, which implements the core logic to resolve designators using only informations from class annotations;
  • the TypeDesignatorResolver class (what is left of it), which relies on the new DefaultTypeDesignatorResolver to resolve single-valued designators and builds on top of that to deal with multi-valued designators (the idea is that the logic to deal with multi-valued designators should always be the same, regardless of which internal resolver is used to resolve a single designator).

Then, it adds a new AliasTypeDesignatorResolver class, which uses a custom map (to be set by client code) of aliases to perform type designator resolution.

The system is not fully designed -- not sure yet about the best way to plug the alias-based resolver into the ConverterContext object (hence this PR, until the design is finalised).

This commit lays the groundwork for allowing resolution of type
designators using a custom set of aliases.

It introduces a new ITypeDesignatorResolver interface, and breaks down
the existing TypeDesignatorResolver class into two parts:

* a new DefaultTypeDesignatorResolver class, which implements the core
  logic to resolve designators using only informations from class
  annotations;
* the TypeDesignatorResolver class (what is left of it), which relies on
  the new DefaultTypeDesignatorResolver to resolve single-valued
  designators and builds on top of that to deal with multi-valued
  designators (the idea is that the logic to deal with multi-valued
  designators should always be the same, regardless of which internal
  resolver is used to resolve a single designator).

Then, it adds a new AliasTypeDesignatorResolver class, which uses a
custom map (to be set by client code) of aliases to perform type
designator resolution.

The system is not fully designed -- not sure yet about the best way to
plug the alias-based resolver into the ConverterContext object.
@gouttegd

Copy link
Copy Markdown
Owner Author

Done in the main branch in a slightly different way.

@gouttegd gouttegd closed this Aug 21, 2026
@gouttegd
gouttegd deleted the alias-type-designators branch August 21, 2026 12:00
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