/** * Gathers up all the fiddly details we need for the ClassData object * * @param MockData $obj * @param EntityData $entity * @return MockData */ private function generateMockDataDetails(MockData $obj, EntityData $entity) { $methodWorker = new MethodDataWorker(); $propertyWorker = new PropertyDataWorker(); $targetClass = $entity->getClassNamespace() . '\\' . $entity->getClassName(); $obj->setHasConstructor($entity->getHasConstructor())->addUseStatements($entity->getUseStatements())->setExtends($entity->getExtends())->addImplements($entity->getImplements())->addMethods($methodWorker->generateMethodObjects($entity->getMethods()))->addProperties($propertyWorker->generatePropertyObjects($targetClass, $entity->getProperties(), $obj->getMethods())); return $obj; }