/** * @throws UnableToBuild when the source provides something * else than an object. * @return mixed builder object */ private function getBuilderBasedOn(BuilderObjectProductBuildPlan $p) { $builderSource = $p->getBuilderSource(); $builder = $this->objectResolver->resolveValueFrom($builderSource); if (!is_object($builder)) { throw new UnableToBuild(); } return $builder; }
public function mapToObject(array $previouslyMappedObject) { $plan = new BuilderObjectProductBuildPlan(); $plan->setBuilderSource($this->objectSourceMapper->mapToObject($previouslyMappedObject[0])); foreach ($previouslyMappedObject[1] as $settingMethodData) { $plan->addSettingMethodCall($this->methodCallMapper->mapToObject($settingMethodData)); } $plan->setBuildMethodCall($this->methodCallMapper->mapToObject($previouslyMappedObject[2])); return $plan; }