Browse Source

First implementation of Reference abstract class and the child classes Link and Set

Roland Haroutiounian 9 years ago
parent
commit
8f795a168d

+ 12
- 2
lodel/leapi/datahandlers/reference.py View File

@@ -4,5 +4,15 @@ from .field_data_handler import FieldDataHandler
4 4
 
5 5
 class Reference(FieldDataHandler):
6 6
 
7
-    def __init__(self):
8
-        self.allowed = True
7
+    ## @brief Instanciation
8
+    # @param allowed bool
9
+    # @param internal bool : if False, the field is not internal
10
+    # @param **kwargs : other arguments
11
+    def __init__(self, allowed=True, internal=False, **kwargs):
12
+        self.allowed = allowed
13
+        self.internal = internal
14
+        super().__init__(internal=self.internal, **kwargs)
15
+
16
+    ## @brief gets the target of the reference
17
+    def get_target(self):
18
+        return self._target

+ 10
- 2
lodel/leapi/datahandlers/references/Link.py View File

@@ -4,5 +4,13 @@ from ..reference import Reference
4 4
 
5 5
 class Link(Reference):
6 6
 
7
-    def __init__(self):
8
-        pass
7
+    ## @brief instanciates a link reference
8
+    # @param emclass EmClass : linked object
9
+    # @param allowed bool
10
+    # @param internal bool : if False, the field is not internal
11
+    # @param kwargs : Other named arguments
12
+    def __init__(self, emclass, allowed=True, internal=False, **kwargs):
13
+        self._target = emclass
14
+        super().__init__(allowed=allowed, internal=internal, **kwargs)
15
+
16
+

+ 9
- 2
lodel/leapi/datahandlers/references/Set.py View File

@@ -4,5 +4,12 @@ from ..reference import Reference
4 4
 
5 5
 class Set(Reference):
6 6
 
7
-    def __init__(self):
8
-        pass
7
+    ## @brief instanciates a set reference
8
+    # @param emclasses list : List of EmClass objects
9
+    # @param allowed bool
10
+    # @param internal bool : if False, the field is not internal
11
+    # @param kwargs : Other named arguments
12
+    def __init__(self, emclasses, allowed=True, internal=False, **kwargs):
13
+        self._target = set(emclasses)
14
+        super().__init__(allowed=allowed, internal=internal, **kwargs)
15
+

Loading…
Cancel
Save