Beispiel #1
0
    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
Beispiel #2
0
    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
Beispiel #3
0
    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
Beispiel #4
0
    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
Beispiel #5
0
    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
Beispiel #6
0
    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
Beispiel #7
0
    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
Beispiel #8
0
    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
Beispiel #9
0
    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
Beispiel #10
0
    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
Beispiel #11
0
    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
Beispiel #12
0
    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
Beispiel #13
0
    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
Beispiel #14
0
    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