diff options
Diffstat (limited to 'src/cuchaz/enigma/convert/ClassNamer.java')
| -rw-r--r-- | src/cuchaz/enigma/convert/ClassNamer.java | 53 |
1 files changed, 21 insertions, 32 deletions
diff --git a/src/cuchaz/enigma/convert/ClassNamer.java b/src/cuchaz/enigma/convert/ClassNamer.java index a01aec5..1b6e81c 100644 --- a/src/cuchaz/enigma/convert/ClassNamer.java +++ b/src/cuchaz/enigma/convert/ClassNamer.java | |||
| @@ -15,60 +15,49 @@ import java.util.Map; | |||
| 15 | import com.google.common.collect.BiMap; | 15 | import com.google.common.collect.BiMap; |
| 16 | import com.google.common.collect.Maps; | 16 | import com.google.common.collect.Maps; |
| 17 | 17 | ||
| 18 | public class ClassNamer | 18 | public class ClassNamer { |
| 19 | { | 19 | |
| 20 | public interface SidedClassNamer | 20 | public interface SidedClassNamer { |
| 21 | { | 21 | String getName(String name); |
| 22 | String getName( String name ); | ||
| 23 | } | 22 | } |
| 24 | 23 | ||
| 25 | private Map<String,String> m_sourceNames; | 24 | private Map<String,String> m_sourceNames; |
| 26 | private Map<String,String> m_destNames; | 25 | private Map<String,String> m_destNames; |
| 27 | 26 | ||
| 28 | public ClassNamer( BiMap<ClassIdentity,ClassIdentity> mappings ) | 27 | public ClassNamer(BiMap<ClassIdentity,ClassIdentity> mappings) { |
| 29 | { | ||
| 30 | // convert the identity mappings to name maps | 28 | // convert the identity mappings to name maps |
| 31 | m_sourceNames = Maps.newHashMap(); | 29 | m_sourceNames = Maps.newHashMap(); |
| 32 | m_destNames = Maps.newHashMap(); | 30 | m_destNames = Maps.newHashMap(); |
| 33 | int i = 0; | 31 | int i = 0; |
| 34 | for( Map.Entry<ClassIdentity,ClassIdentity> entry : mappings.entrySet() ) | 32 | for (Map.Entry<ClassIdentity,ClassIdentity> entry : mappings.entrySet()) { |
| 35 | { | 33 | String name = String.format("M%04d", i++); |
| 36 | String name = String.format( "M%04d", i++ ); | 34 | m_sourceNames.put(entry.getKey().getClassEntry().getName(), name); |
| 37 | m_sourceNames.put( entry.getKey().getClassEntry().getName(), name ); | 35 | m_destNames.put(entry.getValue().getClassEntry().getName(), name); |
| 38 | m_destNames.put( entry.getValue().getClassEntry().getName(), name ); | ||
| 39 | } | 36 | } |
| 40 | } | 37 | } |
| 41 | 38 | ||
| 42 | public String getSourceName( String name ) | 39 | public String getSourceName(String name) { |
| 43 | { | 40 | return m_sourceNames.get(name); |
| 44 | return m_sourceNames.get( name ); | ||
| 45 | } | 41 | } |
| 46 | 42 | ||
| 47 | public String getDestName( String name ) | 43 | public String getDestName(String name) { |
| 48 | { | 44 | return m_destNames.get(name); |
| 49 | return m_destNames.get( name ); | ||
| 50 | } | 45 | } |
| 51 | 46 | ||
| 52 | public SidedClassNamer getSourceNamer( ) | 47 | public SidedClassNamer getSourceNamer() { |
| 53 | { | 48 | return new SidedClassNamer() { |
| 54 | return new SidedClassNamer( ) | ||
| 55 | { | ||
| 56 | @Override | 49 | @Override |
| 57 | public String getName( String name ) | 50 | public String getName(String name) { |
| 58 | { | 51 | return getSourceName(name); |
| 59 | return getSourceName( name ); | ||
| 60 | } | 52 | } |
| 61 | }; | 53 | }; |
| 62 | } | 54 | } |
| 63 | 55 | ||
| 64 | public SidedClassNamer getDestNamer( ) | 56 | public SidedClassNamer getDestNamer() { |
| 65 | { | 57 | return new SidedClassNamer() { |
| 66 | return new SidedClassNamer( ) | ||
| 67 | { | ||
| 68 | @Override | 58 | @Override |
| 69 | public String getName( String name ) | 59 | public String getName(String name) { |
| 70 | { | 60 | return getDestName(name); |
| 71 | return getDestName( name ); | ||
| 72 | } | 61 | } |
| 73 | }; | 62 | }; |
| 74 | } | 63 | } |