/**
*
*/
package com.captaindebug.name;
/**
* Simple immutable name bean
*
* @author Roger
*
* Created 7:59:37 PM Nov 14, 2011
*
*/
public class Name {
private final String firstName;
private final String middleName;
private final String surname;
public Name(String christianName, String middleName, String surname) {
this.firstName = christianName;
this.middleName = middleName;
this.surname = surname;
}
public String getFirstName() {
return firstName;
}
public String getMiddleName() {
return middleName;
}
public String getSurname() {
return surname;
}
public String getFullName() {
if (isValidString(firstName) && isValidString(middleName) && isValidString(surname)) {
return firstName + " " + middleName + " " + surname;
} else {
throw new RuntimeException("Invalid Name Values");
}
}
private boolean isValidString(String str) {
return isNotNull(str) && str.length() > 0;
}
private boolean isNotNull(Object obj) {
return obj != null;
}
}