From 634a705ede8d590974ec6acde332f22dcb7f2411 Mon Sep 17 00:00:00 2001
From: tobias <thinkdifferent055@gmail.com>
Date: Fri, 25 Jun 2021 20:31:01 +0200
Subject: [PATCH] Define protocol in template for getter and setter extensions

---
 SwiftMetaModelGenerator/templates/meta_model.stencil | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/SwiftMetaModelGenerator/templates/meta_model.stencil b/SwiftMetaModelGenerator/templates/meta_model.stencil
index 8610d6c..8d5fb98 100644
--- a/SwiftMetaModelGenerator/templates/meta_model.stencil
+++ b/SwiftMetaModelGenerator/templates/meta_model.stencil
@@ -5,6 +5,12 @@
 // swiftlint:disable sorted_imports
 import Foundation
 
+protocol ValueAccessible {
+    func setValueByKey(key: String, value: Any?)
+    
+    func getValueByKey(key: String) -> Any?
+}
+
 // swiftlint:disable attributes file_length vertical_whitespace_closing_braces
 // swiftlint:disable identifier_name line_length type_body_length
 {% for class in classes %}
@@ -15,7 +21,7 @@ class {{class.name}}_
 {% endfor %}
 }
 
-extension {{class.name}} 
+extension {{class.name}} {% if not class.needsMethodOverride %}: ValueAccessible {% endif %}
 {
     @objc {% if class.needsMethodOverride %} override {% endif %} func setValueByKey(key: String, value: Any?)
     {
-- 
GitLab