View Javadoc

1   /**
2    *
3    * Copyright 2003-2006 The Apache Software Foundation
4    *
5    *  Licensed under the Apache License, Version 2.0 (the "License");
6    *  you may not use this file except in compliance with the License.
7    *  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   *  Unless required by applicable law or agreed to in writing, software
12   *  distributed under the License is distributed on an "AS IS" BASIS,
13   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   *  See the License for the specific language governing permissions and
15   *  limitations under the License.
16   */
17  
18  package javax.mail.search;
19  
20  import javax.mail.Message;
21  
22  /**
23   * Term that implements a logical negation.
24   *
25   * @version $Rev: 421852 $ $Date: 2006-07-14 03:02:19 -0700 (Fri, 14 Jul 2006) $
26   */
27  public final class NotTerm extends SearchTerm {
28      protected SearchTerm term;
29  
30      public NotTerm(SearchTerm term) {
31          this.term = term;
32      }
33  
34      public SearchTerm getTerm() {
35          return term;
36      }
37  
38      public boolean match(Message message) {
39          return !term.match(message);
40      }
41  
42      public boolean equals(Object other) {
43          if (other == this) return true;
44          if (other instanceof NotTerm == false) return false;
45          return term.equals(((NotTerm) other).term);
46      }
47  
48      public int hashCode() {
49          return term.hashCode();
50      }
51  }