11import re
22from typing import List
33
4- from src .java_model import JAVA_KEYWORDS , JAVA_BUILTIN_TYPES , JAVA_LITERALS , indent_lvl1 , indent_lvl2 , indent_lvl3 , \
5- return_indent , Field
4+ from src .header_generator import render_javadoc
5+ from src . java_model import JAVA_KEYWORDS , JAVA_BUILTIN_TYPES , JAVA_LITERALS , Field , indent
66
77
88def generate_fields_block (fields : List [Field ]) -> str :
@@ -17,24 +17,12 @@ def generate_field_declaration(field: Field) -> str:
1717 _validate_java_field_name (field .name )
1818
1919 declaration = [
20- _render_javadoc (field ),
21- f"{ indent_lvl1 } private { field .type } { field .name } ;"
20+ render_javadoc (field . description , indent_lvl = 1 ),
21+ f"{ indent ( 1 ) } private { field .type } { field .name } ;"
2222 ]
2323 return "\n " .join (declaration )
2424
2525
26- def _render_javadoc (field : Field ) -> str :
27- if field .description is None :
28- return ""
29-
30- return "\n " .join ([
31- "" ,
32- f"{ indent_lvl1 } /**" ,
33- f"{ indent_lvl1 } * { field .description } " ,
34- f"{ indent_lvl1 } */"
35- ])
36-
37-
3826def generate_getters_and_setters (fields : List [Field ]) -> str :
3927 methods = []
4028 for field in fields :
@@ -49,9 +37,9 @@ def generate_getter(field: Field) -> str:
4937
5038 getter = [
5139 "" ,
52- f"{ indent_lvl1 } public { field .type } { getter_name } () {{" ,
53- f"{ indent_lvl2 } return { field .name } ;" ,
54- f"{ indent_lvl1 } }}"
40+ f"{ indent ( 1 ) } public { field .type } { getter_name } () {{" ,
41+ f"{ indent ( 2 ) } return { field .name } ;" ,
42+ f"{ indent ( 1 ) } }}"
5543 ]
5644 return "\n " .join (getter )
5745
@@ -61,29 +49,29 @@ def generate_setter(field: Field) -> str:
6149
6250 setter = [
6351 "" ,
64- f"{ indent_lvl1 } public void { setter_name } ({ field .type } { field .name } ) {{" ,
65- f"{ indent_lvl2 } this.{ field .name } = { field .name } ;" ,
66- f"{ indent_lvl1 } }}"
52+ f"{ indent ( 1 ) } public void { setter_name } ({ field .type } { field .name } ) {{" ,
53+ f"{ indent ( 2 ) } this.{ field .name } = { field .name } ;" ,
54+ f"{ indent ( 1 ) } }}"
6755 ]
6856 return "\n " .join (setter )
6957
7058
7159def generate_equals (class_name : str , fields : List [Field ]) -> str :
7260 equals = [
7361 "" ,
74- f"{ indent_lvl1 } @Override" ,
75- f"{ indent_lvl1 } public boolean equals(Object obj) {{" ,
62+ f"{ indent ( 1 ) } @Override" ,
63+ f"{ indent ( 1 ) } public boolean equals(Object obj) {{" ,
7664
77- f"{ indent_lvl2 } if (this == obj)" ,
78- f"{ indent_lvl3 } return true;" ,
65+ f"{ indent ( 2 ) } if (this == obj)" ,
66+ f"{ indent ( 3 ) } return true;" ,
7967
80- f"{ indent_lvl2 } if (!(obj instanceof { class_name } ))" ,
81- f"{ indent_lvl3 } return false;" ,
68+ f"{ indent ( 2 ) } if (!(obj instanceof { class_name } ))" ,
69+ f"{ indent ( 3 ) } return false;" ,
8270
83- f"{ indent_lvl2 } { class_name } that = ({ class_name } ) obj;" ,
71+ f"{ indent ( 2 ) } { class_name } that = ({ class_name } ) obj;" ,
8472
8573 _render_equals_return_statement (fields ),
86- f"{ indent_lvl1 } }}"
74+ f"{ indent ( 1 ) } }}"
8775 ]
8876
8977 return "\n " .join (equals )
@@ -95,20 +83,20 @@ def _render_equals_return_statement(fields: List[Field]) -> str:
9583 getter_name = _build_getter_name (field .name )
9684 end_line = ";" if i == (len (fields ) - 1 ) else ""
9785 if i == 0 :
98- return_statement .append (f"{ indent_lvl2 } return Objects.equals({ getter_name } (), that.{ getter_name } ()){ end_line } " )
86+ return_statement .append (f"{ indent ( 2 ) } return Objects.equals({ getter_name } (), that.{ getter_name } ()){ end_line } " )
9987 else :
10088 return_statement .append (
101- f"{ indent_lvl2 } { return_indent } && Objects.equals({ getter_name } (), that.{ getter_name } ()){ end_line } " )
89+ f"{ indent ( 4 ) } && Objects.equals({ getter_name } (), that.{ getter_name } ()){ end_line } " )
10290 return "\n " .join (return_statement )
10391
10492
10593def generate_hash_code (fields : List [Field ]) -> str :
10694 hash_code = [
10795 "" ,
108- f"{ indent_lvl1 } @Override" ,
109- f"{ indent_lvl1 } public int hashCode() {{" ,
96+ f"{ indent ( 1 ) } @Override" ,
97+ f"{ indent ( 1 ) } public int hashCode() {{" ,
11098 _render_hashcode_return_statement (fields ),
111- f"{ indent_lvl1 } }}"
99+ f"{ indent ( 1 ) } }}"
112100 ]
113101
114102 return "\n " .join (hash_code )
@@ -124,17 +112,17 @@ def _render_hashcode_return_statement(fields: List[Field]) -> str:
124112def _render_hashcode_return_statement_single_field (fields : List [Field ]) -> str :
125113 field_name = fields [0 ].name
126114 getter_name = _build_getter_name (field_name )
127- return f"{ indent_lvl2 } return Objects.hash({ getter_name } ());"
115+ return f"{ indent ( 2 ) } return Objects.hash({ getter_name } ());"
128116
129117
130118def _render_hashcode_return_statement_multiple_field (fields : List [Field ]) -> str :
131- return_statement = [f"{ indent_lvl2 } return Objects.hash(" ]
119+ return_statement = [f"{ indent ( 2 ) } return Objects.hash(" ]
132120 for index , field in enumerate (fields ):
133121 getter_name = _build_getter_name (field .name )
134122 comma = "," if index < (len (fields ) - 1 ) else ""
135- return_statement .append (f"{ indent_lvl2 } { return_indent } { getter_name } (){ comma } " )
123+ return_statement .append (f"{ indent ( 4 ) } { getter_name } (){ comma } " )
136124
137- return_statement .append (f"{ indent_lvl2 } );" )
125+ return_statement .append (f"{ indent ( 2 ) } );" )
138126
139127 return "\n " .join (return_statement )
140128
0 commit comments