diff options
Diffstat (limited to 'src/cuchaz/enigma/convert/MatchesWriter.java')
| -rw-r--r-- | src/cuchaz/enigma/convert/MatchesWriter.java | 38 |
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; | |||
| 3 | import java.io.File; | 3 | import java.io.File; |
| 4 | import java.io.FileWriter; | 4 | import java.io.FileWriter; |
| 5 | import java.io.IOException; | 5 | import java.io.IOException; |
| 6 | import java.util.Map; | ||
| 6 | 7 | ||
| 7 | import cuchaz.enigma.mapping.ClassEntry; | 8 | import cuchaz.enigma.mapping.ClassEntry; |
| 9 | import cuchaz.enigma.mapping.FieldEntry; | ||
| 8 | 10 | ||
| 9 | 11 | ||
| 10 | public class MatchesWriter { | 12 | public 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 | } |