/** * @param ConfigContext $context * @param string $rootEntityClass * @param string $propertyPath * @param string $entityClass * * @return callable */ protected function getCustomizationHandler(ConfigContext $context, $rootEntityClass, $propertyPath, $entityClass) { return function (array $dataItem) use($context, $rootEntityClass, $propertyPath, $entityClass) { $customizationContext = $this->createCustomizationContext($context); $customizationContext->setRootClassName($rootEntityClass); $customizationContext->setPropertyPath($propertyPath); $customizationContext->setClassName($entityClass); $customizationContext->setResult($dataItem); $this->customizationProcessor->process($customizationContext); return $customizationContext->getResult(); }; }
/** * @param ConfigContext $context * @param string $rootEntityClass * @param string $propertyPath * @param string $entityClass * @param callable|null $previousHandler * * @return callable */ protected function getCustomizationHandler(ConfigContext $context, $rootEntityClass, $propertyPath, $entityClass, $previousHandler) { return function (array $item) use($context, $rootEntityClass, $propertyPath, $entityClass, $previousHandler) { if (null !== $previousHandler) { $item = call_user_func($previousHandler, $item); } $customizationContext = $this->createCustomizationContext($context); $customizationContext->setRootClassName($rootEntityClass); $customizationContext->setPropertyPath($propertyPath); $customizationContext->setClassName($entityClass); $customizationContext->setResult($item); $this->customizationProcessor->process($customizationContext); return $customizationContext->getResult(); }; }