summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/convert/MatchesWriter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/convert/MatchesWriter.java')
-rw-r--r--src/cuchaz/enigma/convert/MatchesWriter.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/cuchaz/enigma/convert/MatchesWriter.java b/src/cuchaz/enigma/convert/MatchesWriter.java
index 6658e2a..6e371bc 100644
--- a/src/cuchaz/enigma/convert/MatchesWriter.java
+++ b/src/cuchaz/enigma/convert/MatchesWriter.java
@@ -3,8 +3,10 @@ package cuchaz.enigma.convert;
3import java.io.File; 3import java.io.File;
4import java.io.FileWriter; 4import java.io.FileWriter;
5import java.io.IOException; 5import java.io.IOException;
6import java.util.Map;
6 7
7import cuchaz.enigma.mapping.ClassEntry; 8import cuchaz.enigma.mapping.ClassEntry;
9import cuchaz.enigma.mapping.FieldEntry;
8 10
9 11
10public class MatchesWriter { 12public class MatchesWriter {
@@ -38,4 +40,40 @@ public class MatchesWriter {
38 out.write(entry.toString()); 40 out.write(entry.toString());
39 } 41 }
40 } 42 }
43
44 public static void writeFields(FieldMatches fieldMatches, File file)
45 throws IOException {
46 try (FileWriter out = new FileWriter(file)) {
47 for (Map.Entry<FieldEntry,FieldEntry> match : fieldMatches.matches().entrySet()) {
48 writeFieldMatch(out, match.getKey(), match.getValue());
49 }
50 for (FieldEntry fieldEntry : fieldMatches.getUnmatchedSourceFields()) {
51 writeFieldMatch(out, fieldEntry, null);
52 }
53 for (FieldEntry fieldEntry : fieldMatches.getUnmatchedDestFields()) {
54 writeFieldMatch(out, null, fieldEntry);
55 }
56 }
57 }
58
59 private static void writeFieldMatch(FileWriter out, FieldEntry source, FieldEntry dest)
60 throws IOException {
61 if (source != null) {
62 writeField(out, source);
63 }
64 out.write(":");
65 if (dest != null) {
66 writeField(out, dest);
67 }
68 out.write("\n");
69 }
70
71 private static void writeField(FileWriter out, FieldEntry fieldEntry)
72 throws IOException {
73 out.write(fieldEntry.getClassName());
74 out.write(" ");
75 out.write(fieldEntry.getName());
76 out.write(" ");
77 out.write(fieldEntry.getType().toString());
78 }
41} 79}