Projekt

Obecné

Profil

« Předchozí | Další » 

Revize a0511590

Přidáno uživatelem Jan Havlíček před asi 4 roky(ů)

#re#7831 Indetation problems. toString left, new toJson method
Not working yet

Zobrazit rozdíly:

project/Deserializer/src/jdeserialize/instance.java
26 26
        this.fielddata = new HashMap<classdesc, Map<field, Object>>();
27 27
    }
28 28

  
29
    public String toString() {
29
    public @Override String toJson(String indentation)
30
    {
30 31
        StringBuffer sb = new StringBuffer();
32
        String val = "";
33

  
34
        /*if (classdesc.getType() == contenttype.CLASSDESC && !instance.indentedClasses.contains(classdesc.name)) {*/
35
            indentation += "\t";
36
           /* instance.indentedClasses.add(classdesc.name);
37
        }*/
31 38

  
32 39
        // ClassName
33
        sb.append("{\n\tclass ").append(classdesc.name);
40
        sb.append("{\n").append(indentation).append("class ").append(classdesc.name);
34 41
        // extends
35 42
        if (classdesc.superclass != null) {
36 43
            sb.append(" extends ").append(classdesc.superclass.name);
......
48 55
            // v this.fielddata najit element, jehoz key == classdesc
49 56
            // v tomto prvku fielddata najdu value (element) podle key == f
50 57
            // jeho value je chtena hodnota
51
            var val = this.fielddata.get(classdesc).get(f).toString();
52
            sb.append("\n\t\t");
53
            // Datový typ není potřeba - json jej nepoužívá!
54
            sb.append("\"")./* append(f.type.getJavaType()).append(" "). */append(f.name).append("\"");
58
            
59
            var locVal = this.fielddata.get(classdesc).get(f);
60

  
61
            if(locVal instanceof content)
62
            {
63
                val = ((content)locVal).toJson(indentation);
64
            }
65
            else {
66
                val = locVal.toString();
67
            }
68

  
69
            sb.append("\n\t").append(indentation);
70
            sb.append("\"").append(f.name).append("\"");
55 71
            sb.append(" : ");
56 72
            sb.append(val);
57 73

  
......
60 76
            }
61 77
        }
62 78

  
63
        sb.append("\n\t}\n}");
79
        sb.append("\n").append(indentation).append("}\n}");
64 80

  
81
        /*if (classdesc.getType() == contenttype.CLASSDESC && instance.indentedClasses.contains(classdesc.name)) {*/
82
            indentation.replaceFirst("\t", "");
83
            /*instance.indentedClasses.remove(classdesc.name);
84
        }*/
85

  
86
        return sb.toString();
87
    }
88

  
89
    public String toString() {
90
        StringBuffer sb = new StringBuffer();
91
        sb.append(classdesc.name).append(' ').append("_h").append(jdeserialize.hex(handle))
92
            .append(" = r_").append(jdeserialize.hex(classdesc.handle)).append(";  ");
93
        //sb.append("// [instance " + jdeserialize.hex(handle) + ": " + jdeserialize.hex(classdesc.handle) + "/" + classdesc.name).append("]");
65 94
        return sb.toString();
66 95
    }
67 96

  

Také k dispozici: Unified diff