package jp.igapyon.jcfa;\r
\r
-import java.io.BufferedWriter;\r
import java.io.File;\r
-import java.io.FileOutputStream;\r
import java.io.IOException;\r
-import java.io.OutputStreamWriter;\r
\r
-import jp.igapyon.jcfa.util.JcfaEclipseUtil;\r
import jp.igapyon.jcfa.util.JcfaUtil;\r
+import jp.igapyon.jcfa.util.JcfaWriteUtil;\r
import jp.igapyon.jcfa.vo.JcfaClass;\r
import jp.igapyon.jcfa.vo.JcfaField;\r
import jp.igapyon.jcfa.vo.JcfaMethod;\r
jcfaUnit.setTargetFile(new File(actualyTargetDir,\r
split[split.length - 1] + ".jcfa"));\r
\r
- writeToFile(jcfaUnit);\r
+ JcfaWriteUtil.writeToFile(jcfaUnit);\r
} catch (ClassFormatException e) {\r
e.printStackTrace();\r
} catch (IOException e) {\r
}\r
}\r
\r
- private void writeToFile(final JcfaUnit jcfaUnit) throws IOException {\r
- final StringBuffer result = new StringBuffer();\r
-\r
- for (JcfaClass jcfaClass : jcfaUnit.getClassList()) {\r
- writeToBuffer(jcfaClass, result);\r
- }\r
-\r
- final BufferedWriter writer = new BufferedWriter(\r
- new OutputStreamWriter(new FileOutputStream(\r
- jcfaUnit.getTargetFile())));\r
- writer.write(JcfaEclipseUtil.formatSource(result.toString()));\r
- writer.close();\r
- }\r
-\r
- private void writeToBuffer(final JcfaClass jcfaClass,\r
- final StringBuffer result) {\r
- if (jcfaClass.isMainClass()) {\r
- if (jcfaClass.getName().contains(".")) {\r
- result.append(" package "\r
- + jcfaClass.getName().substring(0,\r
- jcfaClass.getName().lastIndexOf(".")) + ";");\r
- }\r
- }\r
-\r
- // TODO import\r
-\r
- result.append(jcfaClass.getAccess());\r
- result.append(" class " + jcfaClass.getLocalName());\r
- if (jcfaClass.getExtendsName() != null\r
- && jcfaClass.getExtendsName().length() > 0\r
- && jcfaClass.getExtendsName().equals("java.lang.Object") == false) {\r
- result.append(" extends " + jcfaClass.getExtendsName());\r
- }\r
- result.append("{");\r
-\r
- for (JcfaField jcfaField : jcfaClass.getFieldList()) {\r
- writeToBuffer(jcfaField, result);\r
- }\r
-\r
- for (JcfaMethod jcfaMethod : jcfaClass.getMethodList()) {\r
- writeToBuffer(jcfaMethod, result);\r
- }\r
-\r
- result.append("}");\r
- }\r
-\r
- private void writeToBuffer(final JcfaField jcfaField,\r
- final StringBuffer result) {\r
- result.append(" " + jcfaField.getAccess() + " " + "String" + " "\r
- + jcfaField.getName());\r
- result.append(";");\r
- }\r
-\r
- private void writeToBuffer(final JcfaMethod jcfaMethod,\r
- final StringBuffer result) {\r
-\r
- }\r
-\r
private void analyzeFields(final JavaClass jc, final JcfaClass jcfaClass) {\r
final org.apache.bcel.classfile.Field[] fields = jc.getFields();\r
for (int indexField = 0; indexField < fields.length; indexField++) {\r
--- /dev/null
+package jp.igapyon.jcfa.util;
+
+import java.io.BufferedWriter;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+
+import jp.igapyon.jcfa.vo.JcfaClass;
+import jp.igapyon.jcfa.vo.JcfaField;
+import jp.igapyon.jcfa.vo.JcfaMethod;
+import jp.igapyon.jcfa.vo.JcfaUnit;
+
+public class JcfaWriteUtil {
+ public static void writeToFile(final JcfaUnit jcfaUnit) throws IOException {
+ final StringBuffer result = new StringBuffer();
+
+ for (JcfaClass jcfaClass : jcfaUnit.getClassList()) {
+ writeToBuffer(jcfaClass, result);
+ }
+
+ final BufferedWriter writer = new BufferedWriter(
+ new OutputStreamWriter(new FileOutputStream(
+ jcfaUnit.getTargetFile())));
+ writer.write(JcfaEclipseUtil.formatSource(result.toString()));
+ writer.close();
+ }
+
+ public static void writeToBuffer(final JcfaClass jcfaClass,
+ final StringBuffer result) {
+ if (jcfaClass.isMainClass()) {
+ if (jcfaClass.getName().contains(".")) {
+ result.append(" package "
+ + jcfaClass.getName().substring(0,
+ jcfaClass.getName().lastIndexOf(".")) + ";");
+ }
+ }
+
+ // TODO import
+
+ result.append(jcfaClass.getAccess());
+ result.append(" class " + jcfaClass.getLocalName());
+ if (jcfaClass.getExtendsName() != null
+ && jcfaClass.getExtendsName().length() > 0
+ && jcfaClass.getExtendsName().equals("java.lang.Object") == false) {
+ result.append(" extends " + jcfaClass.getExtendsName());
+ }
+ result.append("{");
+
+ for (JcfaField jcfaField : jcfaClass.getFieldList()) {
+ writeToBuffer(jcfaField, result);
+ }
+
+ for (JcfaMethod jcfaMethod : jcfaClass.getMethodList()) {
+ writeToBuffer(jcfaMethod, result);
+ }
+
+ result.append("}");
+ }
+
+ public static void writeToBuffer(final JcfaField jcfaField,
+ final StringBuffer result) {
+ result.append(" " + jcfaField.getAccess() + " " + "String" + " "
+ + jcfaField.getName());
+ result.append(";");
+ }
+
+ public static void writeToBuffer(final JcfaMethod jcfaMethod,
+ final StringBuffer result) {
+
+ }
+}