Module: Ea::Transformers

Defined in:
lib/ea/transformers.rb,
lib/ea/transformers/qea_to_xmi.rb,
lib/ea/transformers/uml_to_xmi.rb,
lib/ea/transformers/uml_to_xmi/writer.rb,
lib/ea/transformers/qea_to_xmi/context.rb,
lib/ea/transformers/qea_to_xmi/run_state.rb,
lib/ea/transformers/qea_to_xmi/visibility.rb,
lib/ea/transformers/qea_to_xmi/cardinality.rb,
lib/ea/transformers/qea_to_xmi/guid_format.rb,
lib/ea/transformers/qea_to_xmi/transformer.rb,
lib/ea/transformers/uml_to_xmi/transformer.rb,
lib/ea/transformers/qea_to_xmi/id_allocator.rb,
lib/ea/transformers/uml_to_xmi/id_generator.rb,
lib/ea/transformers/qea_to_xmi/association_end.rb

Overview

Output transformers — converts domain models to interchange formats.

Two entry points:

{uml_to_xmi} — lossy, takes a Lutaml::Uml::Document (cross-tool use)
{qea_to_xmi} — full fidelity, takes an Ea::Qea::Database
             (Sparx-to-Sparx round-trip)

Defined Under Namespace

Modules: QeaToXmi, UmlToXmi

Class Method Summary collapse

Class Method Details

.qea_to_xmi(database) ⇒ String

Full fidelity: Ea::Qea::Database → Sparx XMI. Walks the QEA tables directly — no intermediate UML model, no loss of Sparx-specific concepts (stereotypes, tagged values, multiplicities, diagrams, xrefs).

Parameters:

Returns:

  • (String)

    XMI XML



29
30
31
# File 'lib/ea/transformers.rb', line 29

def qea_to_xmi(database)
  QeaToXmi::Transformer.new(database).serialize
end

.uml_to_xmi(document) ⇒ String

Lossy: any Lutaml::Uml::Document → Sparx XMI (cross-tool).

Parameters:

  • document (Lutaml::Uml::Document)

Returns:

  • (String)

    XMI XML



19
20
21
# File 'lib/ea/transformers.rb', line 19

def uml_to_xmi(document)
  UmlToXmi::Transformer.new(document).serialize
end