Class: Ucode::Models::Relationship
- Inherits:
-
Lutaml::Model::Serializable
- Object
- Lutaml::Model::Serializable
- Ucode::Models::Relationship
- Defined in:
- lib/ucode/models/relationship.rb,
lib/ucode/models/relationship/footnote.rb,
lib/ucode/models/relationship/compat_equiv.rb,
lib/ucode/models/relationship/informal_alias.rb,
lib/ucode/models/relationship/cross_reference.rb,
lib/ucode/models/relationship/sample_sequence.rb,
lib/ucode/models/relationship/variation_sequence.rb
Overview
Polymorphic Relationship base. The ‘kind` attribute is the discriminator that identifies the concrete subclass on the wire.
Six concrete subclasses model the six marker types in NamesList.txt plus standardized variants:
CrossReference (→ see also)
SampleSequence (× typical usage)
CompatEquiv (≡ compatibility equivalent)
InformalAlias (= informal alias)
Footnote (* explanatory note)
VariationSequence (from StandardizedVariants.txt)
Adding a new relationship kind later is OCP: subclass + autoload + one entry in each polymorphic map. Nothing else changes.
Direct Known Subclasses
CompatEquiv, CrossReference, Footnote, InformalAlias, SampleSequence, VariationSequence
Defined Under Namespace
Classes: CompatEquiv, CrossReference, Footnote, InformalAlias, SampleSequence, VariationSequence