blob: 165d5f954194e1c5cde04af5725a2355fd75ecad (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
import java.util.regex.Pattern;
public class NameCard
{
private static final Pattern namePattern = Pattern.compile("[ A-Za-z]+");
private static final Pattern phonePattern = Pattern.compile("[-0-9]*");
// I have not learnt regex properly
private static final Pattern emailPattern = Pattern.compile(
"(\\w+)(\\.|_)?(\\w*)@(\\w+)(\\.(\\w+))+");
private String name;
private String phone;
private String email;
public String getName()
{
return name;
}
public String getPhone()
{
return phone;
}
public String getEmail()
{
return email;
}
public void setName(String name)
{
if (!namePattern.matcher(name).matches())
throw new IllegalArgumentException("invalid name: " + name);
this.name = name;
}
public void setPhone(String phone)
{
if (!phonePattern.matcher(phone).matches())
throw new IllegalArgumentException("invalid phone number: " + phone);
this.phone = phone;
}
public void setEmail(String email)
{
if (!emailPattern.matcher(email).matches())
throw new IllegalArgumentException("invalid email: " + email);
this.email = email;
}
public NameCard(String name)
{
this(name, "", "");
}
public NameCard(String name, String phone)
{
this(name, phone, "");
}
public NameCard(String name, String phone, String email)
{
setName(name);
setPhone(phone);
setEmail(email);
}
}
|