blob: 165d5f954194e1c5cde04af5725a2355fd75ecad (
plain) (
tree)
|
|
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);
}
}
|