def gen_java_jo_o2j(self, inner): str = '' if self.list_type in s_java_simple_type_object_map: str += ''' for ({type} item : {list}) {{ {jsonArray}.put(item); }} '''.format(type=s_java_simple_type_object_map[self.list_type], list=str_with_suf('list', inner), jsonArray=str_with_suf('jsonArray', inner) ) elif self.list_type in s_dict_types: str += ''' for ({type} item : {list}) {{ JSONObject jsonObj = {class_name}.JSONFromObject(item); {jsonArray}.put(jsonObj); }} '''.format(class_name=self.dict_meta.get_java_class_name(), type=self.dict_meta.get_java_class_name(), list=str_with_suf('list', inner), jsonArray=str_with_suf('jsonArray', inner) ) elif self.list_type in s_list_types: type_str = self.list_meta.get_java_type_str() statement = self.list_meta.gen_java_jo_o2j(inner + 1) statement = str_with_indent(statement, 1) str += ''' for ({type} {list1} : {list}) {{ JSONArray {jsonArray1} = new JSONArray();{statement} {jsonArray}.put({jsonArray1}); }} '''.format(jsonArray1=str_with_suf('jsonArray', inner + 1), i=str_with_suf('i', inner), type=type_str, jsonArray=str_with_suf('jsonArray', inner), list1=str_with_suf('list', inner + 1), i1=str_with_suf('i', inner + 1), statement=statement, list2=str_with_suf('list', inner + 2), list=str_with_suf('list', inner)) return str
def gen_java_jo_j2o(self): str = '' if self.field_type in s_java_jo_simple_type_put_map: str = ''' object.%s = jsonObject.%s("%s");''' % ( self.name, s_java_jo_simple_type_put_map[self.field_type], self.orig) elif self.field_type in s_dict_types: str = ''' if (jsonObject.optJSONObject("%s") != null) { JSONObject jsonObj = jsonObject.optJSONObject("%s"); object.%s = %s.objectFromJSON(jsonObj); } ''' % (self.name, self.orig, self.name, self.dict_meta.get_java_class_name()) elif self.field_type in s_list_types: type_str = self.get_java_type_str() str = ''' if (jsonObject.optJSONArray("%s") != null) { JSONArray jsonArray = jsonObject.optJSONArray("%s"); %s list = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) {%s } object.%s = list; } ''' % (self.orig, self.orig, type_str, str_with_indent(self.list_meta.gen_java_jo_j2o(0), 2), self.name) return str
def gen_java_jo_o2j(self): str = '' if self.field_type in s_java_jo_simple_type_put_map: str = ''' jsonObject.put("{orig}", object.{name});'''.format(orig=self.orig, name=self.name) elif self.field_type in s_dict_types: str = ''' if(object.{name} != null){{ JSONObject jsonObj = {class_name}.JSONFromObject(object.{name}); jsonObject.put("{orig}",jsonObj); }} '''.format(name=self.name, orig=self.orig, class_name=self.dict_meta.get_java_class_name()) elif self.field_type in s_list_types: type_str = self.get_java_type_str() statement = str_with_indent(self.list_meta.gen_java_jo_o2j(0), 1) str = ''' if(object.{name}!=null){{ {type} list = object.{name}; JSONArray jsonArray = new JSONArray();{statement} jsonObject.put("{orig}",jsonArray); }} '''.format(orig=self.orig, type=type_str, statement=statement, name=self.name) return str
def gen_java_jo_j2o(self, inner): str = '' if self.list_type in s_java_simple_type_object_map: str += ''' {type} item = {jsonArray}.{jo_type}({i}); {list}.add(item); '''.format(type=s_java_simple_type_object_map[self.list_type], jo_type=s_java_jo_simple_type_put_map[self.list_type], jsonArray=str_with_suf('jsonArray', inner), i=str_with_suf('i', inner), list=str_with_suf('list', inner)) elif self.list_type in s_dict_types: str += ''' JSONObject jsonObj = {jsonArray}.optJSONObject(i); if(jsonObj!=null) {{ {class_name} item = {class_name}.objectFromJSON(jsonObj); {list}.add(item); }} '''.format(class_name=self.dict_meta.get_java_class_name(), jsonArray=str_with_suf('jsonArray', inner), list=str_with_suf('list', inner), ) elif self.list_type in s_list_types: type_str = self.list_meta.get_java_type_str() statement = self.list_meta.gen_java_jo_j2o(inner + 1) statement = str_with_indent(statement, 1) str += ''' JSONArray {jsonArray1} = {jsonArray}.optJSONArray({i}); {type} {list1} = new ArrayList<>(); for (int {i1} = 0; {i1} < {jsonArray1}.length(); {i1}++) {{{statement}}} {list}.add({list1}); '''.format(jsonArray1=str_with_suf('jsonArray', inner + 1), i=str_with_suf('i', inner), type=type_str, jsonArray=str_with_suf('jsonArray', inner), list1=str_with_suf('list', inner + 1), i1=str_with_suf('i', inner + 1), statement=statement, list=str_with_suf('list', inner)) return str
def gen_java_jo_jsonfromobject(self): str = '' str += ''' public static JSONObject JSONFromObject({class_name} object) {{ JSONObject jsonObject = new JSONObject(); try {{ '''.format(class_name=self.get_java_class_name()) field_str = '' for field_meta in self.field_meta_array: field_str += str_with_indent(field_meta.gen_java_jo_o2j(), 1) field_str += ''' } catch (JSONException e) { e.printStackTrace(); } return jsonObject; ''' str += str_with_indent(field_str, 1) str += '\n}\n' return str
def gen_java_jo_objectfromjson(self): str = '' str += ''' public static {class_name} objectFromJSON(JSONObject jsonObject) {{ {class_name} object = new {class_name}(); '''.format(class_name=self.get_java_class_name()) field_str = '' for field_meta in self.field_meta_array: field_str += field_meta.gen_java_jo_j2o() field_str += '\nreturn object;' str += str_with_indent(field_str, 1) str += '\n}\n' return str
def gen_java_class_meta(self): str_static = '' if not self.is_base(): str_static = 'static ' str = '\npublic %sclass %s {\n' % (str_static, self.get_java_class_name()) if LeUtils.s_dialect in ['ls']: str = '@JsonObject\n' + str for field_meta in self.field_meta_array: field_str = '' if LeUtils.s_dialect in ['gs', 'le']: field_str = field_meta.gen_java_gs_declare() elif LeUtils.s_dialect in ['fj']: field_str = field_meta.gen_java_fj_declare() elif LeUtils.s_dialect in ['jc']: field_str = field_meta.gen_java_ja_declare() elif LeUtils.s_dialect in ['ls']: field_str = field_meta.gen_java_ls_declare() elif LeUtils.s_dialect in ['jo']: field_str = field_meta.gen_java_jo_declare() str += field_str + '\n' if LeUtils.s_dialect in ['jo']: if self.is_base() and not LeUtils.s_no_string: if not LeUtils.s_no_serialize: str += self.gen_java_jo_o2s() if not LeUtils.s_no_deserialize: str += self.gen_java_jo_s2o() method_str = '' if not LeUtils.s_no_serialize: method_str += self.gen_java_jo_jsonfromobject() if not LeUtils.s_no_deserialize: method_str += self.gen_java_jo_objectfromjson() if method_str: str += str_with_indent(method_str, 1) if not LeUtils.s_java_public: for field_meta in self.field_meta_array: field_str = field_meta.gen_java_gs_getter_setter() str += field_str + '\n' for field_meta in self.field_meta_array: field_str = "" if field_meta.field_type in s_list_types: field_str += field_meta.list_meta.gen_java_list_meta() elif field_meta.field_type in s_dict_types: field_str += field_meta.dict_meta.gen_java_class_meta() str += '\t'.join(field_str.splitlines(True)) str += '}\n\n' return str
def gen_java_jo_objectfromjson(self): str = '' str += ''' public static {class_name} objectFromJSON(JSONObject jsonObject) {{ {class_name} object = new {class_name}(); '''.format( class_name=self.get_java_class_name()) field_str = '' for field_meta in self.field_meta_array: field_str += field_meta.gen_java_jo_j2o() field_str += '\nreturn object;' str += str_with_indent(field_str, 1) str += '\n}\n' return str
def gen_java_class_meta(self): str_static = '' if not self.is_base(): str_static = 'static ' str = '\npublic %sclass %s {\n' % (str_static, self.get_java_class_name()) if LeUtils.s_dialect in ['ls']: str = '@JsonObject\n' + str for field_meta in self.field_meta_array: field_str = '' if LeUtils.s_dialect in ['gs', 'le']: field_str = field_meta.gen_java_gs_declare() elif LeUtils.s_dialect in ['fj']: field_str = field_meta.gen_java_fj_declare() elif LeUtils.s_dialect in ['jc']: field_str = field_meta.gen_java_ja_declare() elif LeUtils.s_dialect in ['ls']: field_str = field_meta.gen_java_ls_declare() elif LeUtils.s_dialect in ['jo']: field_str = field_meta.gen_java_jo_declare() str += field_str + '\n' if LeUtils.s_dialect in ['jo']: if self.is_base() and not LeUtils.s_no_string: if not LeUtils.s_no_serialize: str += self.gen_java_jo_o2s() if not LeUtils.s_no_deserialize: str += self.gen_java_jo_s2o() method_str ='' if not LeUtils.s_no_serialize: method_str += self.gen_java_jo_jsonfromobject() if not LeUtils.s_no_deserialize: method_str += self.gen_java_jo_objectfromjson() if method_str: str += str_with_indent(method_str, 1) if not LeUtils.s_java_public: for field_meta in self.field_meta_array: field_str = field_meta.gen_java_gs_getter_setter() str += field_str + '\n' for field_meta in self.field_meta_array: field_str = "" if field_meta.field_type in s_list_types: field_str += field_meta.list_meta.gen_java_list_meta() elif field_meta.field_type in s_dict_types: field_str += field_meta.dict_meta.gen_java_class_meta() str += '\t'.join(field_str.splitlines(True)) str += '}\n\n' return str
def gen_java_jo_j2o(self, inner): str = '' if self.list_type in s_java_simple_type_object_map: str += ''' {type} item = {jsonArray}.{jo_type}({i}); {list}.add(item); '''.format(type=s_java_simple_type_object_map[self.list_type], jo_type=s_java_jo_simple_type_put_map[self.list_type], jsonArray=str_with_suf('jsonArray', inner), i=str_with_suf('i', inner), list=str_with_suf('list', inner)) elif self.list_type in s_dict_types: str += ''' JSONObject jsonObj = {jsonArray}.optJSONObject(i); if(jsonObj!=null) {{ {class_name} item = {class_name}.objectFromJSON(jsonObj); {list}.add(item); }} '''.format( class_name=self.dict_meta.get_java_class_name(), jsonArray=str_with_suf('jsonArray', inner), list=str_with_suf('list', inner), ) elif self.list_type in s_list_types: type_str = self.list_meta.get_java_type_str() statement = self.list_meta.gen_java_jo_j2o(inner + 1) statement = str_with_indent(statement, 1) str += ''' JSONArray {jsonArray1} = {jsonArray}.optJSONArray({i}); {type} {list1} = new ArrayList<>(); for (int {i1} = 0; {i1} < {jsonArray1}.length(); {i1}++) {{{statement}}} {list}.add({list1}); '''.format(jsonArray1=str_with_suf('jsonArray', inner + 1), i=str_with_suf('i', inner), type=type_str, jsonArray=str_with_suf('jsonArray', inner), list1=str_with_suf('list', inner + 1), i1=str_with_suf('i', inner + 1), statement=statement, list=str_with_suf('list', inner)) return str
def gen_java_jo_o2j(self, inner): str = '' if self.list_type in s_java_simple_type_object_map: str += ''' for ({type} item : {list}) {{ {jsonArray}.put(item); }} '''.format(type=s_java_simple_type_object_map[self.list_type], list=str_with_suf('list', inner), jsonArray=str_with_suf('jsonArray', inner)) elif self.list_type in s_dict_types: str += ''' for ({type} item : {list}) {{ JSONObject jsonObj = {class_name}.JSONFromObject(item); {jsonArray}.put(jsonObj); }} '''.format(class_name=self.dict_meta.get_java_class_name(), type=self.dict_meta.get_java_class_name(), list=str_with_suf('list', inner), jsonArray=str_with_suf('jsonArray', inner)) elif self.list_type in s_list_types: type_str = self.list_meta.get_java_type_str() statement = self.list_meta.gen_java_jo_o2j(inner + 1) statement = str_with_indent(statement, 1) str += ''' for ({type} {list1} : {list}) {{ JSONArray {jsonArray1} = new JSONArray();{statement} {jsonArray}.put({jsonArray1}); }} '''.format(jsonArray1=str_with_suf('jsonArray', inner + 1), i=str_with_suf('i', inner), type=type_str, jsonArray=str_with_suf('jsonArray', inner), list1=str_with_suf('list', inner + 1), i1=str_with_suf('i', inner + 1), statement=statement, list2=str_with_suf('list', inner + 2), list=str_with_suf('list', inner)) return str