1 11 package org.eclipse.jdt.internal.corext.refactoring.structure.constraints; 12 13 import org.eclipse.core.runtime.Assert; 14 15 import org.eclipse.jdt.internal.corext.refactoring.typeconstraints2.ConstraintVariable2; 16 import org.eclipse.jdt.internal.corext.refactoring.typeconstraints2.ITypeConstraint2; 17 18 21 public final class ConditionalTypeConstraint implements ITypeConstraint2 { 22 23 24 private final ConstraintVariable2 fElseVariable; 25 26 27 private final ConstraintVariable2 fExpressionVariable; 28 29 30 private final ConstraintVariable2 fThenVariable; 31 32 39 public ConditionalTypeConstraint(final ConstraintVariable2 expressionVariable, final ConstraintVariable2 thenVariable, final ConstraintVariable2 elseVariable) { 40 Assert.isNotNull(expressionVariable); 41 Assert.isNotNull(thenVariable); 42 Assert.isNotNull(elseVariable); 43 fExpressionVariable= expressionVariable; 44 fThenVariable= thenVariable; 45 fElseVariable= elseVariable; 46 } 47 48 51 public final boolean equals(final Object object) { 52 if (object.getClass() != ConditionalTypeConstraint.class) 53 return false; 54 final ITypeConstraint2 other= (ITypeConstraint2) object; 55 return getLeft() == other.getLeft() && getRight() == other.getRight(); 56 } 57 58 63 public final ConstraintVariable2 getExpression() { 64 return fExpressionVariable; 65 } 66 67 70 public final ConstraintVariable2 getLeft() { 71 return fThenVariable; 72 } 73 74 77 public final ConstraintVariable2 getRight() { 78 return fElseVariable; 79 } 80 81 84 public final int hashCode() { 85 return fThenVariable.hashCode() ^ 33 * fElseVariable.hashCode(); 86 } 87 88 91 public final String toString() { 92 return fThenVariable.toString() + " <?= " + fElseVariable.toString(); } 94 } 95 | Popular Tags |