]> WPIA git - gigi.git/blob - src/org/cacert/gigi/Name.java
Fix html conformance for the "explained radio button" forms.
[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 boolean equals(Object obj) {
40         if ( !(obj instanceof Name)) {
41             return false;
42         }
43         Name n = (Name) obj;
44         if ( !(n.fname.equals(fname) && n.lname.equals(lname))) {
45             return false;
46         }
47         if (mname == null) {
48             if (n.mname != null) {
49                 return false;
50             }
51         } else if ( !mname.equals(n.mname)) {
52             return false;
53         }
54         if (suffix == null) {
55             if (n.suffix != null) {
56                 return false;
57             }
58         } else if ( !suffix.equals(n.suffix)) {
59             return false;
60         }
61         return true;
62
63     }
64
65     public boolean matches(String text) {
66         return text.equals(fname + " " + lname) || //
67                 (mname != null && text.equals(fname + " " + mname + " " + lname)) || //
68                 (suffix != null && text.equals(fname + " " + lname + " " + suffix)) || //
69                 (mname != null && suffix != null && text.equals(fname + " " + mname + " " + lname + " " + suffix));
70     }
71 }