@default_type: () ->\r
null\r
\r
- @factory: (parent, name, json, module_name) -> \r
+ @factory: (parent, name, json, module_name, klass) -> \r
module_message = ManifestBase.module_message(parent.module_names(), [module_name, name])\r
- json['type'] ||= @default_type()\r
+ json['type'] ||= klass.default_type()\r
type = json['type']\r
ManifestBase.alert_undefined_message('type', module_message) if not type\r
- my_class = @types()[type]\r
+ my_class = klass.types()[type]\r
ManifestBase.alert_undefined_message('class', module_message) if not my_class\r
new my_class(parent, name, json, module_name)\r
\r
- @factory_type_args: (parent, json, module_name) ->\r
+ @factory_type_args: (parent, json, module_name, klass) ->\r
module_message = ManifestBase.module_message(parent.module_names(), [module_name])\r
- json['type'] ||= @default_type()\r
+ json['type'] ||= ManifestBase.Factory.default_type()\r
type = json['type']\r
ManifestBase.alert_undefined_message('type', module_message) if not type\r
- my_class = @types()[type]\r
+ my_class = klass.types()[type]\r
ManifestBase.alert_undefined_message('class', module_message) if not my_class\r
new my_class(parent, json, module_name)\r
\r