]> WPIA git - gigi.git/blob - src/org/cacert/gigi/Name.java
fda8160c04a1fda560cfad5d6a387d11a6149944
[gigi.git] / src / org / cacert / gigi / Name.java
1 package org.cacert.gigi;
2
3 import java.io.PrintWriter;
4 import java.util.Map;
5
6 import org.cacert.gigi.localisation.Language;
7 import org.cacert.gigi.output.Outputable;
8
9 public class Name implements Outputable {
10
11     String fname;
12
13     String mname;
14
15     String lname;
16
17     String suffix;
18
19     public Name(String fname, String lname, String mname, String suffix) {
20         this.fname = fname;
21         this.lname = lname;
22         this.mname = mname;
23         this.suffix = suffix;
24     }
25
26     @Override
27     public void output(PrintWriter out, Language l, Map<String, Object> vars) {
28         out.println("<span class=\"accountdetail\">");
29         out.print("<span class=\"fname\">");
30         out.print(fname);
31         out.print("</span> ");
32         out.print("<span class=\"lname\">");
33         out.print(lname);
34         out.print("</span>");
35         out.println("</span>");
36     }
37
38     @Override
39     public String toString() {
40         return fname + " " + lname;
41     }
42
43     @Override
44     public boolean equals(Object obj) {
45         if ( !(obj instanceof Name)) {
46             return false;
47         }
48         Name n = (Name) obj;
49         if ( !(n.fname.equals(fname) && n.lname.equals(lname))) {
50             return false;
51         }
52         if (mname == null) {
53             if (n.mname != null) {
54                 return false;
55             }
56         } else if ( !mname.equals(n.mname)) {
57             return false;
58         }
59         if (suffix == null) {
60             if (n.suffix != null) {
61                 return false;
62             }
63         } else if ( !suffix.equals(n.suffix)) {
64             return false;
65         }
66         return true;
67
68     }
69
70     public boolean matches(String text) {
71         return text.equals(fname + " " + lname) || //
72                 (mname != null && text.equals(fname + " " + mname + " " + lname)) || //
73                 (suffix != null && text.equals(fname + " " + lname + " " + suffix)) || //
74                 (mname != null && suffix != null && text.equals(fname + " " + mname + " " + lname + " " + suffix));
75     }
76 }