/** * @param StructModel $struct * @return StructEnumFile|StructArrayFile|StructFile */ private function getStructFile(StructModel $struct) { if ($struct->getisRestriction()) { $file = new StructEnumFile($this->generator, $struct->getPackagedName()); } elseif ($struct->isArray()) { $file = new StructArrayFile($this->generator, $struct->getPackagedName()); } else { $file = new StructFile($this->generator, $struct->getPackagedName()); } return $file; }