def _generate_route_objects_m(self, route_schema, namespace):
output_path = '<STR_LIT>'.format(<EOL>fmt_route_obj_class(namespace.name))<EOL>with self.output_to_relative_path(output_path):<EOL><INDENT>self.emit_raw(base_file_comment)<EOL>import_classes = [<EOL>fmt_route_obj_class(namespace.name),<EOL>'<STR_LIT>',<EOL>'<STR_LIT>',<EOL>]<EOL>for auth_type in self.namespace_to_has_route_auth_list[namespace]:<EOL><INDENT>import_classes.append(<EOL>fmt_routes_class(namespace.name, auth_type))<EOL><DEDENT>imports_classes_m = import_classes +self._get_imports_m(<EOL>self._get_namespace_route_imports(namespace, include_route_args=False), [])<EOL>self._generate_imports_m(imports_classes_m)<EOL>with self.block_m(fmt_route_obj_class(namespace.name)):<EOL><INDENT>for route in namespace.routes:<EOL><INDENT>route_name = fmt_route_var(namespace.name, route)<EOL>self.emit('<STR_LIT>'.format(route_name))<EOL><DEDENT>self.emit()<EOL>for route in namespace.routes:<EOL><INDENT>route_name = fmt_route_var(namespace.name, route)<EOL>if route.version == <NUM_LIT:1>:<EOL><INDENT>route_path = route.name<EOL><DEDENT>else:<EOL><INDENT>route_path = '<STR_LIT>'.format(route.name, route.version)<EOL><DEDENT>if route.deprecated:<EOL><INDENT>deprecated = '<STR_LIT>'.format('<STR_LIT>')<EOL><DEDENT>else:<EOL><INDENT>deprecated = '<STR_LIT>'.format('<STR_LIT>')<EOL><DEDENT>if not is_void_type(route.result_data_type):<EOL><INDENT>caller = fmt_class_type(<EOL>route.result_data_type, suppress_ptr=True)<EOL>result_type = fmt_func_call(<EOL>caller=caller, callee='<STR_LIT:class>')<EOL><DEDENT>else:<EOL><INDENT>result_type = '<STR_LIT>'<EOL><DEDENT>if not is_void_type(route.error_data_type):<EOL><INDENT>caller = fmt_class_type(<EOL>route.error_data_type, suppress_ptr=True)<EOL>error_type = fmt_func_call(<EOL>caller=caller, callee='<STR_LIT:class>')<EOL><DEDENT>else:<EOL><INDENT>error_type = '<STR_LIT>'<EOL><DEDENT>if is_list_type(route.arg_data_type) or is_map_type(route.arg_data_type):<EOL><INDENT>dataStructSerialBlock = '<STR_LIT>'.format(<EOL>self._fmt_serialization_call(<EOL>route.result_data_type, '<STR_LIT>', True))<EOL><DEDENT>else:<EOL><INDENT>dataStructSerialBlock = '<STR_LIT>'<EOL><DEDENT>if is_list_type(route.result_data_type) or is_map_type(route.result_data_type):<EOL><INDENT>dataStructDeserialBlock = '<STR_LIT>'.format(<EOL>self._fmt_serialization_call(<EOL>route.result_data_type, '<STR_LIT>', False))<EOL><DEDENT>else:<EOL><INDENT>dataStructDeserialBlock = '<STR_LIT>'<EOL><DEDENT>with self.block_func(<EOL>func=route_name,<EOL>args=[],<EOL>return_type='<STR_LIT>',<EOL>class_func=True):<EOL><INDENT>with self.block('<STR_LIT>'.format(route_name)):<EOL><INDENT>with self.block(<EOL>'<STR_LIT>'.format(<EOL>route_name),<EOL>delim=(None, None),<EOL>after='<STR_LIT>'):<EOL><INDENT>self.emit('<STR_LIT>'.format(route_path))<EOL>self.emit('<STR_LIT>'.format(<EOL>namespace.name))<EOL>self.emit('<STR_LIT>'.format(deprecated))<EOL>self.emit('<STR_LIT>'.format(result_type))<EOL>self.emit('<STR_LIT>'.format(error_type))<EOL>attrs = []<EOL>for field in route_schema.fields:<EOL><INDENT>attr_key = field.name<EOL>attr_val = ("<STR_LIT>".format(route.attrs<EOL>.get(attr_key)) if route.attrs<EOL>.get(attr_key)<EOL>else '<STR_LIT>')<EOL>attrs.append('<STR_LIT>'.format(<EOL>attr_key, attr_val))<EOL><DEDENT>self.generate_multiline_list(<EOL>attrs,<EOL>delim=('<STR_LIT>', '<STR_LIT:}>'),<EOL>compact=True)<EOL>self.emit('<STR_LIT>'.format(<EOL>dataStructSerialBlock))<EOL>self.emit('<STR_LIT>'.format(<EOL>dataStructDeserialBlock))<EOL><DEDENT><DEDENT>self.emit('<STR_LIT>'.format(route_name))<EOL><DEDENT>self.emit()<EOL><DEDENT><DEDENT><DEDENT>
Emits implementation files for Route objects which encapsulate information
        regarding each route. These objects are passed as parameters when route calls are made.