Class: Lutaml::Qea::Factory::BaseTransformer
- Inherits:
-
Object
- Object
- Lutaml::Qea::Factory::BaseTransformer
- Defined in:
- lib/lutaml/qea/factory/base_transformer.rb
Overview
Abstract base class for all EA to UML transformers Implements the Strategy pattern for model transformation
Direct Known Subclasses
AssociationTransformer, AttributeTagTransformer, AttributeTransformer, ClassTransformer, ConstraintTransformer, DataTypeTransformer, DiagramTransformer, EnumTransformer, GeneralizationTransformer, InstanceTransformer, ObjectPropertyTransformer, OperationTransformer, PackageTransformer, TaggedValueTransformer
Instance Attribute Summary collapse
-
#database ⇒ Object
readonly
Returns the value of attribute database.
Instance Method Summary collapse
-
#initialize(database) ⇒ BaseTransformer
constructor
Initialize transformer with database reference.
-
#transform(ea_model) ⇒ Object
Transform a single EA model to UML model.
-
#transform_collection(collection) ⇒ Array<Object>
Transform a collection of EA models to UML models.
Constructor Details
#initialize(database) ⇒ BaseTransformer
Initialize transformer with database reference
13 14 15 |
# File 'lib/lutaml/qea/factory/base_transformer.rb', line 13 def initialize(database) @database = database end |
Instance Attribute Details
#database ⇒ Object (readonly)
Returns the value of attribute database.
9 10 11 |
# File 'lib/lutaml/qea/factory/base_transformer.rb', line 9 def database @database end |
Instance Method Details
#transform(ea_model) ⇒ Object
Transform a single EA model to UML model
21 22 23 24 |
# File 'lib/lutaml/qea/factory/base_transformer.rb', line 21 def transform(ea_model) raise NotImplementedError, "#{self.class} must implement #transform" end |
#transform_collection(collection) ⇒ Array<Object>
Transform a collection of EA models to UML models
29 30 31 32 33 |
# File 'lib/lutaml/qea/factory/base_transformer.rb', line 29 def transform_collection(collection) return [] if collection.nil? || collection.empty? collection.filter_map { |item| transform(item) } end |