Class: Ucode::Models::Relationship

Inherits:
Lutaml::Model::Serializable
  • Object
show all
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.

Defined Under Namespace

Classes: CompatEquiv, CrossReference, Footnote, InformalAlias, SampleSequence, VariationSequence