1 package jp.igapyon.jcfa.util;
3 import java.io.BufferedWriter;
4 import java.io.FileOutputStream;
5 import java.io.IOException;
6 import java.io.OutputStreamWriter;
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;
13 public class JcfaWriteUtil {
14 public static void writeToFile(final JcfaUnit jcfaUnit) throws IOException {
15 final StringBuffer result = new StringBuffer();
17 for (JcfaClass jcfaClass : jcfaUnit.getClassList()) {
18 writeToBuffer(jcfaClass, result);
21 final BufferedWriter writer = new BufferedWriter(
22 new OutputStreamWriter(new FileOutputStream(
23 jcfaUnit.getTargetFile())));
24 writer.write(JcfaEclipseUtil.formatSource(result.toString()));
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(".")) + ";");
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());
49 for (JcfaField jcfaField : jcfaClass.getFieldList()) {
50 writeToBuffer(jcfaField, result);
53 for (JcfaMethod jcfaMethod : jcfaClass.getMethodList()) {
54 writeToBuffer(jcfaMethod, result);
60 public static void writeToBuffer(final JcfaField jcfaField,
61 final StringBuffer result) {
62 result.append(" " + jcfaField.getAccess() + " " + "String" + " "
63 + jcfaField.getName());
67 public static void writeToBuffer(final JcfaMethod jcfaMethod,
68 final StringBuffer result) {