/*
* Created on Oct 25, 2004
* Updated on May 03, 2007
*
*/
package net.sf.jabref.mods;
import java.util.Vector;
import wsi.ra.tool.WSITools;
import net.sf.jabref.AuthorList;
/**
* @author Michael Wrighton, S M Mahbub Murshed
*
* S M Mahbub Murshed : added few functions for convenience. May 15, 2007
*/
public class PersonName {
protected String givenName = null;
protected String surname = null;
protected String middleName = null;
public PersonName() {
}
public PersonName(String name) {
parseName(name);
}
public PersonName(String firstName, String _middleName, String lastName) {
givenName = firstName;
middleName = _middleName;
surname = lastName;
}
protected void parseName(String author) {
// TODO: replace special characters
Vector<String> v = new Vector<String>();
String authorMod = AuthorList.fixAuthor_firstNameFirst(author);
WSITools.tokenize(v, authorMod, " \n\r");
if (v.size() == 1)
surname = v.get(0);
else if (v.size() == 2) {
givenName = v.get(0);
surname = v.get(1);
}
else {
givenName = v.get(0);
middleName = v.get(1);
surname = v.get(2);
}
}
public String getGivenNames() {
String result = "";
if (givenName != null)
result += givenName;
if (middleName != null)
result += " " + middleName;
return result;
}
public String getSurname()
{
return surname;
}
public void setSurname(String lastName)
{
surname = lastName;
}
public String getFirstname()
{
return givenName;
}
public void setFirstname(String firstName)
{
givenName = firstName;
}
public String getMiddlename()
{
return middleName;
}
public void setMiddlename(String _middleName)
{
middleName = _middleName;
}
public String getFullname()
{
String fullName = "";
if(givenName != null && givenName != "")
fullName += givenName + " ";
if(middleName != null && middleName != "")
fullName += middleName + " ";
if(surname != null && surname != "")
fullName += surname;
return fullName.trim();
}
public String toString() {
return surname;
}
}