Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add choices for concrete classes in Protobuf #531

Merged

Conversation

mristin
Copy link
Contributor

@mristin mristin commented Oct 27, 2024

We add additional choice classes corresponding to concrete classes with concrete descendants in Protobuf.

So far, we omitted this case as the concrete classes with concrete descendants do not appear in the AAS meta-models. However, we decide to make the implementation future-proof in that regard as it is very possible that in the near future we do face concrete classes with descendants in properties.

We add additional choice classes corresponding to concrete classes with
concrete descendants in Protobuf.

So far, we omitted this case as the concrete classes with concrete
descendants do not appear in the AAS meta-models. However, we decide to
make the implementation future-proof in that regard as it is very possible
that in the near future we do face concrete classes with descendants in
properties.
@mristin mristin merged commit dc2d21c into main Oct 27, 2024
0 of 5 checks passed
@mristin mristin deleted the mristin/Fix-protobuf-for-concrete-classes-with-descendants branch October 27, 2024 09:45
mristin pushed a commit that referenced this pull request Oct 28, 2024
In #531 the `_choice` suffix has been introduced for concrete types with
concrete classes as subtypes. Since Protobuf does not support 
inheritance, this was necessary so that we can distinguish between
the concrete class and a choice (union) class with quasi-polymorphism. 
For the sake of consistency, this suffix shall be used for all types 
that have concrete descendants, *i.e.* for all the choice (union) 
classes, including the abstract classes.
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