package xml;

public class Address {
/**
    <!ELEMENT Address (
                (title | firstName| lastName)*,
                (streetAddress|address1 | address2| address3 )*,
                (homePage | emailAddress)*,
                (homePhone | businessPhone | faxPhone)*,
                city,
                state,
                zip?)>
               */
  private String title = null;
  private String userId = null;
  private String password = null;
  private String firstName = null;
  private String lastName = null;
  private String street = null;
  private String company = null;
  private String address1= null;
  private String address2= null;
  private String address3= null;
  private String homePage= null;
  private String emailAddress= null;
  private String homePhone= null;
  private String businessPhone= null;
  private String faxPhone= null;
  private String city = null;
  private String state = null;
  private String zip = null;

  public Address() {
  }

  public Address(String s[]) {

    if (s.length == 6)
      setFirst6(s);

  }
  public void setFirst6(String s[]) {
  // lastName,streetAddress,address1,homePhone,businessPhone,faxPhone
    lastName = s[0];
    street = s[1];
    address1 = s[2];
    homePhone = s[3];
    businessPhone = s[4];
    faxPhone = s[5];
  }
  

 

  public  void setAddress2(String s){
    address2 = s;
  }

  public  void setAddress3(String s){
   address3 = s;
  }

public  void setEmailAddress(String s){
    emailAddress = s;
  }

public  void setHomePhone(String s){
    homePhone = s;
  }

public  void setHomePage(String s){
    homePage = s;
  }

public  void setBusinessPhone(String s){
  businessPhone = s;
  }
public  void setFaxPhone(String s){
    faxPhone = s;
  }
 public  void setCompany(String s){
    company = s;
  }
    public void setAddress1(String s) {
        address1 = s;
    }

  public void setTitle(String s) {
    title = s;
  }

  public void setFirstName(String s) {
    firstName = s;
  }

  public void setLastName(String s) {
    lastName = s;
  }
  public void setUserId(String s) {
    userId = s;
  }
  public void setPassword(String s) {
    password = s;
  }



  public void setStreet(String s) {
    street = s;
  }

  public void setCity(String s) {
    city = s;
  }

  public void setState(String s) {
    state = s;
  }
  public boolean match(String ss) {
    String s = toCsv();
    return s.indexOf(ss) >= 0;
  }

  public void setZip(String s) {
    zip = s;
  }
  public String toHtml() {
    StringBuffer sb = new StringBuffer("");
    if (title != null)
      sb.append("\n\t<td>" + title + "</td>");
    if (userId != null)
      sb.append("\n\t<td>" + userId + "</td>");
    if (password != null)
      sb.append("\n\t<td>" + password + "</td>");
    if (firstName != null)
      sb.append("\n\t<td>" + firstName + "</td>");
    if (lastName != null)
      sb.append("\n\t<td>" + lastName + "</td>");
    if (street != null)
      sb.append("\n\t<td>" + street + "</td>");
    if (city != null)
      sb.append("\n\t<td>" + city + "</td>");
    if (state != null)
      sb.append("\n\t<td>" + state + "</td>");
    if (zip != null)
      sb.append("\n\t<td>" + zip + "</td>\n");

    return "\n<tr>"
        + sb.toString()
        + "\n</tr>";
  }     
  public String toCsv() {
    StringBuffer sb = new StringBuffer("");
      sb.append( title + ",");
      sb.append(userId + ",");
      sb.append(password + ",");
      sb.append(firstName + ",");
      sb.append(lastName + ",");
      sb.append(street + ",");
      sb.append(city + ",");
      sb.append( state + ",");
      sb.append(zip);
    return sb.toString()+"\n";
  }

  public String toXml() {
    StringBuffer sb = new StringBuffer("");
    if (title != null)
      sb.append("\n\t<title>" + title + "</title>");
    if (userId != null)
      sb.append("\n\t<userId>" + userId + "</userId>");
    if (password != null)
      sb.append("\n\t<password>" + password + "</password>");
    if (firstName != null)
      sb.append("\n\t<firstName>" + firstName + "</firstName>");
    if (lastName != null)
      sb.append("\n\t<lastName>" + lastName + "</lastName>");
    if (street != null)
      sb.append("\n\t<street>" + street + "</street>");
    if (city != null)
      sb.append("\n\t<city>" + city + "</city>");
    if (state != null)
      sb.append("\n\t<state>" + state + "</state>");
    if (zip != null)
      sb.append("\n\t<zip>" + zip + "</zip>\n");

    return "\n<Address>"
        + sb.toString()
        + "\n</Address>";
  }
}