1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package javax.mail.search;
21
22
23
24
25
26
27 public abstract class IntegerComparisonTerm extends ComparisonTerm {
28 protected int number;
29
30 protected IntegerComparisonTerm(int comparison, int number) {
31 super();
32 this.comparison = comparison;
33 this.number = number;
34 }
35
36 public int getNumber() {
37 return number;
38 }
39
40 public int getComparison() {
41 return comparison;
42 }
43
44 protected boolean match(int match) {
45 switch (comparison) {
46 case EQ:
47 return match == number;
48 case NE:
49 return match != number;
50 case GT:
51 return match > number;
52 case GE:
53 return match >= number;
54 case LT:
55 return match < number;
56 case LE:
57 return match <= number;
58 default:
59 return false;
60 }
61 }
62
63 public boolean equals(Object other) {
64 if (other == this) return true;
65 if (other instanceof IntegerComparisonTerm == false) return false;
66 final IntegerComparisonTerm term = (IntegerComparisonTerm) other;
67 return this.comparison == term.comparison && this.number == term.number;
68 }
69
70 public int hashCode() {
71 return number + super.hashCode();
72 }
73 }