diff options
| author | 2017-03-08 08:17:04 +0100 | |
|---|---|---|
| committer | 2017-03-08 08:17:04 +0100 | |
| commit | 6e464ea251cab63c776ece0b2a356f1498ffa294 (patch) | |
| tree | 5ed30c03f5ac4cd2d6877874f5ede576049954f7 /src/main/java/cuchaz/enigma/convert/ClassMatch.java | |
| parent | Drop unix case style and implement hashCode when equals is overrided (diff) | |
| download | enigma-fork-6e464ea251cab63c776ece0b2a356f1498ffa294.tar.gz enigma-fork-6e464ea251cab63c776ece0b2a356f1498ffa294.tar.xz enigma-fork-6e464ea251cab63c776ece0b2a356f1498ffa294.zip | |
Follow Fabric guidelines
Diffstat (limited to 'src/main/java/cuchaz/enigma/convert/ClassMatch.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/convert/ClassMatch.java | 106 |
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 | |||
| 11 | package cuchaz.enigma.convert; | 12 | package cuchaz.enigma.convert; |
| 12 | 13 | ||
| 13 | import com.google.common.collect.Sets; | 14 | import com.google.common.collect.Sets; |
| 15 | import cuchaz.enigma.mapping.ClassEntry; | ||
| 16 | import cuchaz.enigma.utils.Utils; | ||
| 14 | 17 | ||
| 15 | import java.util.Collection; | 18 | import java.util.Collection; |
| 16 | import java.util.Set; | 19 | import java.util.Set; |
| 17 | 20 | ||
| 18 | import cuchaz.enigma.mapping.ClassEntry; | ||
| 19 | import cuchaz.enigma.utils.Utils; | ||
| 20 | |||
| 21 | public class ClassMatch { | 21 | public 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 | } |