/** This class store a name as a separate first and last name. The first and last name will never * be <code>null</code>. The class will also be able to return the name in both first name then * last format and last name first format. * @author Aaron Braskin * @version March 18th, 2015 */ public class Name { // Constants // Instance Variables private String first; private String last; // Constructor Methods /** The default constructor initializes both first and last to be an empty string */ public Name() { first=""; last=""; } /** This constructor sets first and last equal to the parameter values if they are not * <code>null</code> and makes each an empty strings if its respective parameter is * <code>null</code> * @param setFirst the first name * @param setLast the last name */ public Name(String setFirst, String setLast) { if (setFirst!=null) { first=setFirst; } else { first=""; } last=setLast; if (last==null) last=""; } // Getter Methods /** @return the first name */ public String getFirst() { return first; } /** @return the last name */ public String getLast() { return last; } /** @return the name in first-space-last format */ public String toString() { return first+" "+last; } /** @return the name in last, first format */ public String getLastNameFirst() { return last+", "+first; } /** @return true when both first and last are equal */ public boolean equals(Object otherObject) { if (otherObject instanceof Name) { Name otherName=(Name)otherObject; return first.equals(otherName.getFirst()) && last.equals(otherName.getLast()); } else { return super.equals(otherObject); } } // Setter Methods /** Sets a new first name if the parameter is not <code>null</code> */ public void setFirst(String setFirst) { if (setFirst!=null) first=setFirst; } /** Sets a new last name if the parameter is not <code>null</code> */ public void setLast(String setLast) { if (setLast!=null) last=setLast; } }