protected function createClassBuilders(Schema\ModuleSchema $module_schema) { $create_builders = function (Schema\ModuleDefinition $module) use($module_schema) { return array(Builder\ModuleBaseClass::create($module_schema, $module), Builder\ModuleClass::create($module_schema, $module), Builder\DocumentBaseClass::create($module_schema, $module), Builder\DocumentClass::create($module_schema, $module)); }; $root_module = $module_schema->getModuleDefinition(); $class_builders = $create_builders($root_module); foreach ($module_schema->getUsedAggregateDefinitions($root_module) as $aggregate_module) { $class_builders = array_merge($class_builders, $create_builders($aggregate_module)); } return $class_builders; }
protected function buildPackage() { return parent::buildPackage() . '\\Base'; }