Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 47d370ef

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

#7843 #7842
Output format - String and array implemented.

Zobrazit rozdíly:

project/Deserializer/src/jdeserialize/instance.java
1 1
package jdeserialize;
2

  
2 3
import java.util.*;
3 4

  
4 5
/**
5
 * Represents an instance of a non-enum, non-Class, non-ObjectStreamClass, 
6
 * non-array class, including the non-transient field values, for all classes in its
7
 * hierarchy and inner classes.
6
 * Represents an instance of a non-enum, non-Class, non-ObjectStreamClass,
7
 * non-array class, including the non-transient field values, for all classes in
8
 * its hierarchy and inner classes.
8 9
 */
9 10
public class instance extends contentbase {
10 11
    /**
11
     * Collection of field data, organized by class description.  
12
     * Collection of field data, organized by class description.
12 13
     */
13 14
    public Map<classdesc, Map<field, Object>> fielddata;
14 15

  
......
24 25
        super(contenttype.INSTANCE);
25 26
        this.fielddata = new HashMap<classdesc, Map<field, Object>>();
26 27
    }
28

  
27 29
    public String toString() {
28 30
        StringBuffer sb = new StringBuffer();
29
        
30
        //ClassName
31

  
32
        // ClassName
31 33
        sb.append("{\n\tclass ").append(classdesc.name);
32
        //extends
33
        if(classdesc.superclass != null)
34
        {
34
        // extends
35
        if (classdesc.superclass != null) {
35 36
            sb.append(" extends ").append(classdesc.superclass.name);
36 37
        }
37
        //implements
38
        if(classdesc.interfaces != null)
39
        {   
38
        // implements
39
        if (classdesc.interfaces != null) {
40 40
            sb.append(" implements ");
41
            for(String str : classdesc.interfaces)
42
            {
41
            for (String str : classdesc.interfaces) {
43 42
                sb.append(str);
44 43
            }
45 44
        }
46
        sb.append(" : {");  //ending of first line
45
        sb.append(" : {"); // ending of first line
47 46

  
48
        for(field f : classdesc.fields)
49
        {
50
            /*if(f.type.getJavaType() != null)
51
            {*/
52
                //v this.fielddata najit element, jehoz key == classdesc
53
                //v tomto prvku fielddata najdu value (element) podle key == f
54
                //jeho value je chtena hodnota
55
                var val = this.fielddata.get(classdesc).get(f).toString();
56
                sb.append("\n\t\t");
57
                //Datový typ není potřeba - json jej nepoužívá!
58
                sb.append("\"")./*append(f.type.getJavaType()).append(" ").*/append(f.name).append("\"");
59
                sb.append(" : ");
60
                sb.append("\"").append(val).append("\"");
61
            /*}
62
            else if(f.classname != null)
63
            {
64
                content val = (content) this.fielddata.get(classdesc).get(f);
65
                sb.append("\n\t\t");
66
                sb.append("\"").append(f.name).append("\"");
67
                sb.append(" : ");
68
                sb.append("\"").append(val.toString()).append("\"");
69
            }*/
47
        for (field f : classdesc.fields) {
48
            // v this.fielddata najit element, jehoz key == classdesc
49
            // v tomto prvku fielddata najdu value (element) podle key == f
50
            // 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("\"");
55
            sb.append(" : ");
56
            sb.append("\"").append(val).append("\"");
70 57

  
71
            if(!f.equals(classdesc.fields[classdesc.fields.length-1]))
72
            {
58
            if (!f.equals(classdesc.fields[classdesc.fields.length - 1])) {
73 59
                sb.append(", ");
74 60
            }
75 61
        }
76 62

  
77 63
        sb.append("\n\t}\n}");
78
        
64

  
79 65
        return sb.toString();
80 66
    }
67

  
81 68
    /**
82 69
     * Object annotation data.
83 70
     */

Také k dispozici: Unified diff