Skip to content

Package: FromTerm

FromTerm

nameinstructionbranchcomplexitylinemethod
FromTerm(Address)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
equals(Object)
M: 9 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
match(Message)
M: 29 C: 0
0%
M: 6 C: 0
0%
M: 4 C: 0
0%
M: 10 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*
2: * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
3: *
4: * This program and the accompanying materials are made available under the
5: * terms of the Eclipse Public License v. 2.0, which is available at
6: * http://www.eclipse.org/legal/epl-2.0.
7: *
8: * This Source Code may also be made available under the following Secondary
9: * Licenses when the conditions for such availability set forth in the
10: * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11: * version 2 with the GNU Classpath Exception, which is available at
12: * https://www.gnu.org/software/classpath/license.html.
13: *
14: * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15: */
16:
17: package jakarta.mail.search;
18:
19: import jakarta.mail.Message;
20: import jakarta.mail.Address;
21:
22: /**
23: * This class implements comparisons for the From Address header.
24: *
25: * @author Bill Shannon
26: * @author John Mani
27: */
28: public final class FromTerm extends AddressTerm {
29:
30: private static final long serialVersionUID = 5214730291502658665L;
31:
32: /**
33: * Constructor
34: * @param address        The Address to be compared
35: */
36: public FromTerm(Address address) {
37:         super(address);
38: }
39:
40: /**
41: * The address comparator.
42: *
43: * @param msg        The address comparison is applied to this Message
44: * @return                true if the comparison succeeds, otherwise false
45: */
46: @Override
47: public boolean match(Message msg) {
48:         Address[] from;
49:
50:         try {
51:          from = msg.getFrom();
52:         } catch (Exception e) {
53:          return false;
54:         }
55:
56:•        if (from == null)
57:          return false;
58:
59:•        for (int i=0; i < from.length; i++)
60:•         if (super.match(from[i]))
61:                 return true;
62:         return false;
63: }
64:
65: /**
66: * Equality comparison.
67: */
68: @Override
69: public boolean equals(Object obj) {
70:•        if (!(obj instanceof FromTerm))
71:          return false;
72:         return super.equals(obj);
73: }
74: }