コード例 #1
0
    def gen_body(fp, sheet):
        """
        生成代码主体
        :param sheet:
        :param fp:
        """
        sheet_name = sheet.get("sheet_name")
        dto_elems = sheet.get("dto_elems")

        if dto_elems is not None and sheet_name is not None:
            classname = sheet_name
            CodeGenerator.class_define_begin(fp, classname)

            for elem in dto_elems:
                elem_type = TypeDict.type_dict.get(elem.get("type").lower())
                if elem_type is None:
                    logger.error("Unknown or miss field type, elem=%s" % str(elem))
                    continue

                elem_field_name = CamelTransformTool.trans_underline_field_to_camel_field(elem.get("name"))
                if elem_field_name is None:
                    logger.error("miss field_name, elem=%s" % str(elem))
                    continue

                # 定义属性
                elem_property_comment = elem.get("comment")
                CodeGenerator.property_comment(fp, elem_property_comment)
                # 在属性上添加注解, 默认的注解方式
                if CodeTemplate.java_template.get("style_json_property") == Constant.json_property_style.get(
                        "above_property"):
                    CodeGenerator.json_property(fp, elem.get("name"))

                CodeGenerator.property_define(fp, elem_type, elem_field_name)

            for elem in dto_elems:
                elem_type = TypeDict.type_dict.get(elem.get("type").lower())
                elem_field_name = CamelTransformTool.trans_underline_field_to_camel_field(elem.get("name"))
                elem_field_name_cap = CamelTransformTool.trans_underline_field_to_camel_classname(elem.get("name"))
                if elem_type is None or elem_field_name is None:
                    continue

                # 定义set函数
                elem_property_comment = elem.get("comment")
                CodeGenerator.function_comment(fp, elem_field_name, elem_property_comment)

                if CodeTemplate.java_template.get("style_json_property") == Constant.json_property_style.get(
                        "above_function_set_upper_case"):
                    CodeGenerator.json_property(fp, elem.get("name"))

                if CodeTemplate.java_template.get("style_json_property") == Constant.json_property_style.get(
                        "above_function_set_lower_case"):
                    CodeGenerator.json_property(fp, elem_field_name)

                CodeGenerator.json_serialize(fp)
                CodeGenerator.function_define_set(fp, elem_type, elem_field_name, elem_field_name_cap)

                # 定义get函数
                CodeGenerator.function_comment(fp)
                if CodeTemplate.java_template.get("style_json_property") == Constant.json_property_style.get(
                        "above_function_set_upper_case"):
                    CodeGenerator.json_property(fp, elem_field_name)

                if CodeTemplate.java_template.get("style_json_property") == Constant.json_property_style.get(
                        "above_function_set_lower_case"):
                    CodeGenerator.json_property(fp, elem.get("name"))

                CodeGenerator.json_serialize(fp)
                CodeGenerator.function_define_get(fp, elem_type, elem_field_name, elem_field_name_cap)

            CodeGenerator.class_define_end(fp)
コード例 #2
0
    def gen_body(fp, sheet):
        """
        生成代码主体
        :param sheet:
        :param fp:
        """
        sheet_name = sheet.get("sheet_name")
        dto_elems = sheet.get("dto_elems")

        if dto_elems is not None and sheet_name is not None:
            classname = sheet_name
            CodeGenerator.class_define_begin(fp, classname)

            for elem in dto_elems:
                elem_type = TypeDict.type_dict.get(elem.get("type").lower())
                if elem_type is None:
                    logger.error("Unknown or miss field type, elem=%s" %
                                 str(elem))
                    continue

                elem_field_name = CamelTransformTool.trans_underline_field_to_camel_field(
                    elem.get("name"))
                if elem_field_name is None:
                    logger.error("miss field_name, elem=%s" % str(elem))
                    continue

                # 定义属性
                elem_property_comment = elem.get("comment")
                CodeGenerator.property_comment(fp, elem_property_comment)
                # 在属性上添加注解, 默认的注解方式
                if CodeTemplate.java_template.get(
                        "style_json_property"
                ) == Constant.json_property_style.get("above_property"):
                    CodeGenerator.json_property(fp, elem.get("name"))

                CodeGenerator.property_define(fp, elem_type, elem_field_name)

            for elem in dto_elems:
                elem_type = TypeDict.type_dict.get(elem.get("type").lower())
                elem_field_name = CamelTransformTool.trans_underline_field_to_camel_field(
                    elem.get("name"))
                elem_field_name_cap = CamelTransformTool.trans_underline_field_to_camel_classname(
                    elem.get("name"))
                if elem_type is None or elem_field_name is None:
                    continue

                # 定义set函数
                elem_property_comment = elem.get("comment")
                CodeGenerator.function_comment(fp, elem_field_name,
                                               elem_property_comment)

                if CodeTemplate.java_template.get(
                        "style_json_property"
                ) == Constant.json_property_style.get(
                        "above_function_set_upper_case"):
                    CodeGenerator.json_property(fp, elem.get("name"))

                if CodeTemplate.java_template.get(
                        "style_json_property"
                ) == Constant.json_property_style.get(
                        "above_function_set_lower_case"):
                    CodeGenerator.json_property(fp, elem_field_name)

                CodeGenerator.json_serialize(fp)
                CodeGenerator.function_define_set(fp, elem_type,
                                                  elem_field_name,
                                                  elem_field_name_cap)

                # 定义get函数
                CodeGenerator.function_comment(fp)
                if CodeTemplate.java_template.get(
                        "style_json_property"
                ) == Constant.json_property_style.get(
                        "above_function_set_upper_case"):
                    CodeGenerator.json_property(fp, elem_field_name)

                if CodeTemplate.java_template.get(
                        "style_json_property"
                ) == Constant.json_property_style.get(
                        "above_function_set_lower_case"):
                    CodeGenerator.json_property(fp, elem.get("name"))

                CodeGenerator.json_serialize(fp)
                CodeGenerator.function_define_get(fp, elem_type,
                                                  elem_field_name,
                                                  elem_field_name_cap)

            CodeGenerator.class_define_end(fp)