OSDN Git Service

coding.
[jcfa/jcfa.git] / jcfa / src / jp / igapyon / jcfa / util / JcfaWriteUtil.java
1 package jp.igapyon.jcfa.util;
2
3 import java.io.BufferedWriter;
4 import java.io.FileOutputStream;
5 import java.io.IOException;
6 import java.io.OutputStreamWriter;
7
8 import jp.igapyon.jcfa.vo.JcfaClass;
9 import jp.igapyon.jcfa.vo.JcfaField;
10 import jp.igapyon.jcfa.vo.JcfaMethod;
11 import jp.igapyon.jcfa.vo.JcfaUnit;
12
13 public class JcfaWriteUtil {
14         public static void writeToFile(final JcfaUnit jcfaUnit) throws IOException {
15                 final StringBuffer result = new StringBuffer();
16
17                 for (JcfaClass jcfaClass : jcfaUnit.getClassList()) {
18                         writeToBuffer(jcfaClass, result);
19                 }
20
21                 final BufferedWriter writer = new BufferedWriter(
22                                 new OutputStreamWriter(new FileOutputStream(
23                                                 jcfaUnit.getTargetFile())));
24                 writer.write(JcfaEclipseUtil.formatSource(result.toString()));
25                 writer.close();
26         }
27
28         public static void writeToBuffer(final JcfaClass jcfaClass,
29                         final StringBuffer result) {
30                 if (jcfaClass.isMainClass()) {
31                         if (jcfaClass.getName().contains(".")) {
32                                 result.append(" package "
33                                                 + jcfaClass.getName().substring(0,
34                                                                 jcfaClass.getName().lastIndexOf(".")) + ";");
35                         }
36                 }
37
38                 // TODO import
39
40                 result.append(jcfaClass.getAccess());
41                 result.append(" class " + jcfaClass.getLocalName());
42                 if (jcfaClass.getExtendsName() != null
43                                 && jcfaClass.getExtendsName().length() > 0
44                                 && jcfaClass.getExtendsName().equals("java.lang.Object") == false) {
45                         result.append(" extends " + jcfaClass.getExtendsName());
46                 }
47                 result.append("{");
48
49                 for (JcfaField jcfaField : jcfaClass.getFieldList()) {
50                         writeToBuffer(jcfaField, result);
51                 }
52
53                 for (JcfaMethod jcfaMethod : jcfaClass.getMethodList()) {
54                         writeToBuffer(jcfaMethod, result);
55                 }
56
57                 result.append("}");
58         }
59
60         public static void writeToBuffer(final JcfaField jcfaField,
61                         final StringBuffer result) {
62                 result.append(" " + jcfaField.getAccess() + " " + "String" + " "
63                                 + jcfaField.getName());
64                 result.append(";");
65         }
66
67         public static void writeToBuffer(final JcfaMethod jcfaMethod,
68                         final StringBuffer result) {
69
70         }
71 }