1 11 package org.eclipse.jdt.internal.corext.refactoring.structure; 12 13 import org.eclipse.core.runtime.Assert; 14 15 18 public final class TypeVariableMaplet { 19 20 21 private final int fSourceIndex; 22 23 24 private final String fSourceName; 25 26 27 private final int fTargetIndex; 28 29 30 private final String fTargetName; 31 32 44 public TypeVariableMaplet(final String source, final int index, final String target, final int offset) { 45 Assert.isNotNull(source); 46 Assert.isNotNull(target); 47 Assert.isTrue(source.length() > 0); 48 Assert.isTrue(target.length() > 0); 49 Assert.isTrue(index >= 0); 50 Assert.isTrue(offset >= 0); 51 fSourceName= source; 52 fTargetName= target; 53 fSourceIndex= index; 54 fTargetIndex= offset; 55 } 56 57 public final boolean equals(final Object object) { 58 if (object instanceof TypeVariableMaplet) { 59 final TypeVariableMaplet mapping= (TypeVariableMaplet) object; 60 return mapping.getSourceName().equals(fSourceName) && mapping.getTargetName().equals(fTargetName) && mapping.getSourceIndex() == fSourceIndex && mapping.getTargetIndex() == fTargetIndex; 61 } 62 return false; 63 } 64 65 70 public final int getSourceIndex() { 71 return fSourceIndex; 72 } 73 74 79 public final String getSourceName() { 80 return fSourceName; 81 } 82 83 88 public final int getTargetIndex() { 89 return fTargetIndex; 90 } 91 92 97 public final String getTargetName() { 98 return fTargetName; 99 } 100 101 public final int hashCode() { 102 return fSourceIndex | fTargetIndex | fSourceName.hashCode() | fTargetName.hashCode(); 103 } 104 } 105 | Popular Tags |