Projekt

Obecné

Profil

« Předchozí | Další » 

Revize e3d5fc53

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

#7794
The jdeserializer.instance type of content gives correct format of output data (JSON-like) through method simpleFormatToString() : String
Works only with primitive data types though

Zobrazit rozdíly:

project/Deserializer/src/jdeserialize/instance.java
1 1
package jdeserialize;
2
import java.lang.reflect.Field;
2 3
import java.util.*;
3 4

  
4 5
/**
......
35 36
     * Object annotation data.
36 37
     */
37 38
    public Map<classdesc, List<content>> annotations;
39

  
40

  
41
    @Override
42
    public String simpleFormatToString()
43
    {
44
        StringBuffer sb = new StringBuffer();
45
        
46
        //ClassName
47
        sb.append("{\n\tclass ").append(classdesc.name);
48
        //extends
49
        if(classdesc.superclass != null)
50
        {
51
            sb.append(" extends ").append(classdesc.superclass.name);
52
        }
53
        //implements
54
        if(classdesc.interfaces != null)
55
        {   
56
            sb.append(" implements ");
57
            for(String str : classdesc.interfaces)
58
            {
59
                sb.append(str);
60
            }
61
        }
62
        sb.append(" : {");  //ending of first line
63

  
64
        for(field f : classdesc.fields)
65
        {
66
            //v this.fielddata najit element, jehoz key == classdesc
67
            //v tomto prvku fielddata najdu value (element) podle key == f
68
            //jeho value je chtena hodnota
69
            String val = this.fielddata.get(classdesc).get(f).toString();
70

  
71
            sb.append("\n\t\t");
72
            sb.append("\"").append(f.type.getJavaType()).append(" ").append(f.name).append("\"");
73
            sb.append(" : ");
74
            sb.append(val);
75

  
76
            if(!f.equals(classdesc.fields[classdesc.fields.length-1]))
77
            {
78
                sb.append(", ");
79
            }
80
        }
81

  
82
        sb.append("\n\t}\n}");
83
        
84
        return sb.toString();
85
    }
38 86
}

Také k dispozici: Unified diff