83 $this->eventCallbacks[$eventName] = $callback;
97 if (isset($this->eventCallbacks[$eventName])) {
99 $callback = $this->eventCallbacks[$eventName];
100 return $callback->execute($callerArguments, $caller, $eventName);
125 public function addElement($table, $id, array $data = [])
129 $this->elements[$elementName] = $element;
140 if (!isset($this->outerMostParents)) {
141 $this->outerMostParents = [];
143 foreach ($this->elements as $element) {
157 if ($this->outerMostParentsRequireReferences ===
false || $element->
hasReferences()) {
159 if ($outerMostParent !==
false) {
160 $outerMostParentName = $outerMostParent->
__toString();
161 if (!isset($this->outerMostParents[$outerMostParentName])) {
162 $this->outerMostParents[$outerMostParentName] = $outerMostParent;
177 $outerMostParentName = $outerMostParent->
__toString();
178 if (!isset($this->outerMostParents[$outerMostParentName])) {
179 throw new \RuntimeException(
'Element "' . $outerMostParentName .
'" was not detected as outermost parent.', 1289318609);
181 $nestedStructure = array_merge([$outerMostParentName => $outerMostParent], $outerMostParent->
getNestedChildren());
182 return $nestedStructure;
202 if (!isset($this->factory)) {
203 $this->factory = GeneralUtility::makeInstance(DependencyEntityFactory::class);