- /*
- * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
- * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
-
- package javax.mail.search;
-
- /**
- * This class implements comparisons for integers.
- *
- * @author Bill Shannon
- * @author John Mani
- */
- public abstract class IntegerComparisonTerm extends ComparisonTerm {
- /**
- * The number.
- *
- * @serial
- */
- protected int number;
-
- protected IntegerComparisonTerm(int comparison, int number) {
- this.comparison = comparison;
- this.number = number;
- }
-
- /**
- * Return the number to compare with.
- */
- public int getNumber() {
- return number;
- }
-
- /**
- * Return the type of comparison.
- */
- public int getComparison() {
- return comparison;
- }
-
- protected boolean match(int i) {
- switch (comparison) {
- case LE:
- return i <= number;
- case LT:
- return i < number;
- case EQ:
- return i == number;
- case NE:
- return i != number;
- case GT:
- return i > number;
- case GE:
- return i >= number;
- default:
- return false;
- }
- }
-
- /**
- * Equality comparison.
- */
- public boolean equals(Object obj) {
- if (!(obj instanceof IntegerComparisonTerm))
- return false;
- IntegerComparisonTerm ict = (IntegerComparisonTerm)obj;
- return ict.number == this.number && super.equals(obj);
- }
-
- /**
- * Compute a hashCode for this object.
- */
- public int hashCode() {
- return number + super.hashCode();
- }
- }