Initializes the object and does some correctness checks, for your convenience.
(
self,
name: str,
parents: OrderedSet[NyanObject] = None,
members: OrderedSet[NyanMember] = None,
nested_objects: OrderedSet[NyanObject] = None
)
| 39 | '_nested_objects', '_children') |
| 40 | |
| 41 | def __init__( |
| 42 | self, |
| 43 | name: str, |
| 44 | parents: OrderedSet[NyanObject] = None, |
| 45 | members: OrderedSet[NyanMember] = None, |
| 46 | nested_objects: OrderedSet[NyanObject] = None |
| 47 | ): |
| 48 | """ |
| 49 | Initializes the object and does some correctness |
| 50 | checks, for your convenience. |
| 51 | """ |
| 52 | self.name = name |
| 53 | |
| 54 | # unique identifier (in modpack) |
| 55 | self._fqon: tuple[str] = (self.name,) |
| 56 | |
| 57 | # parent objects |
| 58 | self._parents: OrderedSet[NyanObject] = OrderedSet() |
| 59 | # members inherited from parents |
| 60 | self._inherited_members: OrderedSet[InheritedNyanMember] = OrderedSet() |
| 61 | if parents: |
| 62 | self._parents.update(parents) |
| 63 | |
| 64 | # members unique to this object |
| 65 | self._members: OrderedSet[NyanMember] = OrderedSet() |
| 66 | if members: |
| 67 | self._members.update(members) |
| 68 | |
| 69 | # nested objects |
| 70 | self._nested_objects: OrderedSet[NyanObject] = OrderedSet() |
| 71 | if nested_objects: |
| 72 | self._nested_objects.update(nested_objects) |
| 73 | |
| 74 | for nested_object in self._nested_objects: |
| 75 | nested_object.set_fqon(f"{self._fqon}.{nested_object.get_name()}") |
| 76 | |
| 77 | # Set of children |
| 78 | self._children: OrderedSet[NyanObject] = OrderedSet() |
| 79 | |
| 80 | self._sanity_check() |
| 81 | |
| 82 | if len(self._parents) > 0: |
| 83 | self._process_inheritance() |
| 84 | |
| 85 | def add_nested_object(self, new_nested_object: NyanObject) -> None: |
| 86 | """ |
nothing calls this directly
no test coverage detected