public function buildObjectBasedOn(BuildPlan $p) { $reflectedClass = $this->getReflectedClassBasedOn($p->getClassSource()); $builtObject = $reflectedClass->newInstanceWithoutConstructor(); $this->callMethodsOf($builtObject, $reflectedClass, $p->getAllMethodCalls()); $this->buildPlanByBuildObject->attach($builtObject, $p); return $builtObject; }
public function buildObjectBasedOn(BuildPlan $p) { /* @var $p StaticFactoryProductBuildPlan */ $factoryMethod = $this->findFactoryMethod($this->getReflectedClassBasedOn($p->getFactoryClass()), $p->getFactoryMethodCall()->getSelector()); $builtObject = $this->callSpecifiedMethod($factoryMethod, null, $p->getFactoryMethodCall()->getAssignedParamValues()); $this->buildPlanByBuildObject->attach($builtObject, $p); return $builtObject; }