155 if ($interfaceName ==
null) {
156 $interfaceName = get_class($dataObject);
158 $returnType = $this->methodsMapProcessor->getMethodReturnType($interfaceName, $getterMethodName);
159 if ($this->typeProcessor->isTypeSimple($returnType)) {
160 $dataObject->$methodName(
$value);
164 if ($this->typeProcessor->isArrayType($returnType)) {
165 $type = $this->typeProcessor->getArrayItemType($returnType);
167 foreach (
$value as $arrayElementData) {
168 $object = $this->objectFactory->create(
$type, []);
170 $objects[] = $object;
172 $dataObject->$methodName($objects);
177 $object = $this->objectFactory->create($returnType, []);
180 foreach (
$value as $extensionAttributeKey => $extensionAttributeValue) {
181 $extensionAttributeGetterMethodName
183 $extensionAttributeKey
185 $methodReturnType = $this->methodsMapProcessor->getMethodReturnType(
187 $extensionAttributeGetterMethodName
189 $extensionAttributeType = $this->typeProcessor->isArrayType($methodReturnType)
190 ? $this->typeProcessor->getArrayItemType($methodReturnType)
192 if ($this->typeProcessor->isTypeSimple($extensionAttributeType)) {
193 $value[$extensionAttributeKey] = $extensionAttributeValue;
195 if ($this->typeProcessor->isArrayType($methodReturnType)) {
196 foreach ($extensionAttributeValue as $key => $extensionAttributeArrayValue) {
197 $extensionAttribute = $this->objectFactory->create($extensionAttributeType, []);
200 $extensionAttributeArrayValue,
201 $extensionAttributeType
203 $value[$extensionAttributeKey][$key] = $extensionAttribute;
206 $value[$extensionAttributeKey] = $this->objectFactory->create(
207 $extensionAttributeType,
208 [
'data' => $extensionAttributeValue]
213 $object = $this->extensionFactory->create(get_class($dataObject), [
'data' =>
$value]);
215 $object = $this->objectFactory->create($returnType,
$value);
217 $dataObject->$methodName($object);
populateWithArray($dataObject, array $data, $interfaceName)
is_subclass_of($obj, $className)
static snakeCaseToUpperCamelCase($input)
elseif(isset( $params[ 'redirect_parent']))