/** * @param string $className * @return void */ protected function initClassObject($className) { $this->classObject = new Tx_ExtensionBuilder_Domain_Model_Class_Class($className); $this->classReflection = new Tx_ExtensionBuilder_Reflection_ClassReflection($className); $propertiesToMap = array('FileName', 'Modifiers', 'Tags', 'ParentClass', 'DocComment'); // map class variables from ClassReflection to classObject foreach ($propertiesToMap as $propertyToMap) { // these are all "value objects" so there is no need to parse them $getterMethod = 'get' . $propertyToMap; $setterMethod = 'set' . $propertyToMap; $this->classObject->{$setterMethod}($this->classReflection->{$getterMethod}()); } $interfaceNames = $this->classReflection->getInterfaceNames(); if (count($interfaceNames) > 0) { if ($this->classReflection->getParentClass() && count($this->classReflection->getParentClass()->getInterfaceNames()) > 0) { $interfaceNames = array_diff($interfaceNames, $this->classReflection->getParentClass()->getInterfaceNames()); } $this->classObject->setInterfaceNames($interfaceNames); } // reset class properties $this->lines = array(); $this->lastMatchedLineNumber = -1; }