summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/convert/ClassMatch.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cuchaz/enigma/convert/ClassMatch.java')
-rw-r--r--src/main/java/cuchaz/enigma/convert/ClassMatch.java106
1 files changed, 53 insertions, 53 deletions
diff --git a/src/main/java/cuchaz/enigma/convert/ClassMatch.java b/src/main/java/cuchaz/enigma/convert/ClassMatch.java
index 9fa35f0..bb3e4f4 100644
--- a/src/main/java/cuchaz/enigma/convert/ClassMatch.java
+++ b/src/main/java/cuchaz/enigma/convert/ClassMatch.java
@@ -8,76 +8,76 @@
8 * Contributors: 8 * Contributors:
9 * Jeff Martin - initial API and implementation 9 * Jeff Martin - initial API and implementation
10 ******************************************************************************/ 10 ******************************************************************************/
11
11package cuchaz.enigma.convert; 12package cuchaz.enigma.convert;
12 13
13import com.google.common.collect.Sets; 14import com.google.common.collect.Sets;
15import cuchaz.enigma.mapping.ClassEntry;
16import cuchaz.enigma.utils.Utils;
14 17
15import java.util.Collection; 18import java.util.Collection;
16import java.util.Set; 19import java.util.Set;
17 20
18import cuchaz.enigma.mapping.ClassEntry;
19import cuchaz.enigma.utils.Utils;
20
21public class ClassMatch { 21public class ClassMatch {
22 22
23 public Set<ClassEntry> sourceClasses; 23 public Set<ClassEntry> sourceClasses;
24 public Set<ClassEntry> destClasses; 24 public Set<ClassEntry> destClasses;
25 25
26 public ClassMatch(Collection<ClassEntry> sourceClasses, Collection<ClassEntry> destClasses) { 26 public ClassMatch(Collection<ClassEntry> sourceClasses, Collection<ClassEntry> destClasses) {
27 this.sourceClasses = Sets.newHashSet(sourceClasses); 27 this.sourceClasses = Sets.newHashSet(sourceClasses);
28 this.destClasses = Sets.newHashSet(destClasses); 28 this.destClasses = Sets.newHashSet(destClasses);
29 } 29 }
30 30
31 public ClassMatch(ClassEntry sourceClass, ClassEntry destClass) { 31 public ClassMatch(ClassEntry sourceClass, ClassEntry destClass) {
32 sourceClasses = Sets.newHashSet(); 32 sourceClasses = Sets.newHashSet();
33 if (sourceClass != null) { 33 if (sourceClass != null) {
34 sourceClasses.add(sourceClass); 34 sourceClasses.add(sourceClass);
35 } 35 }
36 destClasses = Sets.newHashSet(); 36 destClasses = Sets.newHashSet();
37 if (destClass != null) { 37 if (destClass != null) {
38 destClasses.add(destClass); 38 destClasses.add(destClass);
39 } 39 }
40 } 40 }
41 41
42 public boolean isMatched() { 42 public boolean isMatched() {
43 return sourceClasses.size() > 0 && destClasses.size() > 0; 43 return !sourceClasses.isEmpty() && !destClasses.isEmpty();
44 } 44 }
45 45
46 public boolean isAmbiguous() { 46 public boolean isAmbiguous() {
47 return sourceClasses.size() > 1 || destClasses.size() > 1; 47 return sourceClasses.size() > 1 || destClasses.size() > 1;
48 } 48 }
49 49
50 public ClassEntry getUniqueSource() { 50 public ClassEntry getUniqueSource() {
51 if (sourceClasses.size() != 1) { 51 if (sourceClasses.size() != 1) {
52 throw new IllegalStateException("Match has ambiguous source!"); 52 throw new IllegalStateException("Match has ambiguous source!");
53 } 53 }
54 return sourceClasses.iterator().next(); 54 return sourceClasses.iterator().next();
55 } 55 }
56 56
57 public ClassEntry getUniqueDest() { 57 public ClassEntry getUniqueDest() {
58 if (destClasses.size() != 1) { 58 if (destClasses.size() != 1) {
59 throw new IllegalStateException("Match has ambiguous source!"); 59 throw new IllegalStateException("Match has ambiguous source!");
60 } 60 }
61 return destClasses.iterator().next(); 61 return destClasses.iterator().next();
62 } 62 }
63 63
64 public Set<ClassEntry> intersectSourceClasses(Set<ClassEntry> classes) { 64 public Set<ClassEntry> intersectSourceClasses(Set<ClassEntry> classes) {
65 Set<ClassEntry> intersection = Sets.newHashSet(sourceClasses); 65 Set<ClassEntry> intersection = Sets.newHashSet(sourceClasses);
66 intersection.retainAll(classes); 66 intersection.retainAll(classes);
67 return intersection; 67 return intersection;
68 } 68 }
69 69
70 @Override 70 @Override
71 public int hashCode() { 71 public int hashCode() {
72 return Utils.combineHashesOrdered(sourceClasses, destClasses); 72 return Utils.combineHashesOrdered(sourceClasses, destClasses);
73 } 73 }
74 74
75 @Override 75 @Override
76 public boolean equals(Object other) { 76 public boolean equals(Object other) {
77 return other instanceof ClassMatch && equals((ClassMatch) other); 77 return other instanceof ClassMatch && equals((ClassMatch) other);
78 } 78 }
79 79
80 public boolean equals(ClassMatch other) { 80 public boolean equals(ClassMatch other) {
81 return this.sourceClasses.equals(other.sourceClasses) && this.destClasses.equals(other.destClasses); 81 return this.sourceClasses.equals(other.sourceClasses) && this.destClasses.equals(other.destClasses);
82 } 82 }
83} 83}