From 1ad33bfe0a96b1b4a1f3c02cf2c054e8a101dfd8 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 9 Mar 2015 20:08:15 -0400 Subject: field matcher is starting to be useful --- src/cuchaz/enigma/convert/MatchesWriter.java | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'src/cuchaz/enigma/convert/MatchesWriter.java') 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; import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.util.Map; import cuchaz.enigma.mapping.ClassEntry; +import cuchaz.enigma.mapping.FieldEntry; public class MatchesWriter { @@ -38,4 +40,40 @@ public class MatchesWriter { out.write(entry.toString()); } } + + public static void writeFields(FieldMatches fieldMatches, File file) + throws IOException { + try (FileWriter out = new FileWriter(file)) { + for (Map.Entry match : fieldMatches.matches().entrySet()) { + writeFieldMatch(out, match.getKey(), match.getValue()); + } + for (FieldEntry fieldEntry : fieldMatches.getUnmatchedSourceFields()) { + writeFieldMatch(out, fieldEntry, null); + } + for (FieldEntry fieldEntry : fieldMatches.getUnmatchedDestFields()) { + writeFieldMatch(out, null, fieldEntry); + } + } + } + + private static void writeFieldMatch(FileWriter out, FieldEntry source, FieldEntry dest) + throws IOException { + if (source != null) { + writeField(out, source); + } + out.write(":"); + if (dest != null) { + writeField(out, dest); + } + out.write("\n"); + } + + private static void writeField(FileWriter out, FieldEntry fieldEntry) + throws IOException { + out.write(fieldEntry.getClassName()); + out.write(" "); + out.write(fieldEntry.getName()); + out.write(" "); + out.write(fieldEntry.getType().toString()); + } } -- cgit v1.2.3