From 58d568140197771b0c037117ae94bf250dfcbf09 Mon Sep 17 00:00:00 2001
From: tobias <thinkdifferent055@gmail.com>
Date: Fri, 25 Jun 2021 19:12:46 +0200
Subject: [PATCH] Generate value getter method

---
 .../templates/meta_model.stencil                   | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/SwiftMetaModelGenerator/templates/meta_model.stencil b/SwiftMetaModelGenerator/templates/meta_model.stencil
index 347277d..8830de7 100644
--- a/SwiftMetaModelGenerator/templates/meta_model.stencil
+++ b/SwiftMetaModelGenerator/templates/meta_model.stencil
@@ -30,6 +30,20 @@ extension {{class.name}}
             fatalError("Cannot set value for key \(key)")
         }
     }
+    
+    @objc {% if class.needsMethodOverride %} override {% endif %} func getValueByKey(key: String) -> Any?
+    {
+        switch key {
+        {% for variable in class.variables %}
+        {% if not variable.constant and not variable.privateVisibility and not variable.staticModifier and not variable.hasAccessor %}
+        case "{{variable.name}}":
+            return self.{{ variable.name }}
+        {% endif %}
+        {% endfor %}
+        default:
+            fatalError("Cannot set value for key \(key)")
+        }
+    }
 }
 
 {% endfor %}
-- 
GitLab