/** * Mule Constant Contact Connector * * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.modules.constantcontact; import java.util.List; public class ContactRequestBuilder { private StringBuilder request; public ContactRequestBuilder() { request = new StringBuilder(500); request.append("<entry xmlns=\"http://www.w3.org/2005/Atom\">\n" + " <title type=\"text\"> </title>\n" + " <updated>2008-07-23T14:21:06.407Z</updated>\n" + " <author></author>\n" + " <id>data:,none</id>\n" + " <summary type=\"text\">Contact</summary>\n" + " <content type=\"application/vnd.ctct+xml\">"); request.append(" <Contact xmlns=\"http://ws.constantcontact.com/ns/1.0/\">"); } public String build() { request.append("</Contact>"); request.append("</content>"); request.append("</entry>"); return request.toString(); } public ContactRequestBuilder setEmailAddress(String emailAddress) { if (emailAddress != null) { request.append("<EmailAddress>").append(emailAddress).append("</EmailAddress>"); } return this; } public ContactRequestBuilder setOptInSource(OptInSource optInSource) { if (optInSource != null) { request.append("<OptInSource>").append(optInSource).append("</OptInSource>"); } return this; } public ContactRequestBuilder setEmailType(EmailType emailType) { if (emailType != null) { request.append("<EmailType>").append(emailType).append("</EmailType>"); } return this; } public ContactRequestBuilder setFirstName(String firstName) { if (firstName != null) { request.append("<FirstName>").append(firstName).append("</FirstName>"); } return this; } public ContactRequestBuilder setMiddleName(String middleName) { if (middleName != null) { request.append("<MiddleName>").append(middleName).append("</MiddleName>"); } return this; } public ContactRequestBuilder setLastName(String lastName) { if (lastName != null) { request.append("<LastName>").append(lastName).append("</LastName>"); } return this; } public ContactRequestBuilder setJobTitle(String jobTitle) { if (jobTitle != null) { request.append("<JobTitle>").append(jobTitle).append("</JobTitle>"); } return this; } public ContactRequestBuilder setCompanyName(String companyName) { if (companyName != null) { request.append("<CompanyName>").append(companyName).append("</CompanyName>"); } return this; } public ContactRequestBuilder setHomePhone(String homePhone) { if (homePhone != null) { request.append("<HomePhone>").append(homePhone).append("</HomePhone>"); } return this; } public ContactRequestBuilder setWorkPhone(String workPhone) { if (workPhone != null) { request.append("<WorkPhone>").append(workPhone).append("</WorkPhone>"); } return this; } public ContactRequestBuilder setAddress1(String address1) { if (address1 != null) { request.append("<Addr1>").append(address1).append("</Addr1>"); } return this; } public ContactRequestBuilder setAddress2(String address2) { if (address2 != null) { request.append("<Addr2>").append(address2).append("</Addr2>"); } return this; } public ContactRequestBuilder setAddress3(String address3) { if (address3 != null) { request.append("<Addr3>").append(address3).append("</Addr3>"); } return this; } public ContactRequestBuilder setCity(String city) { if (city != null) { request.append("<City>").append(city).append("</City>"); } return this; } public ContactRequestBuilder setStateCode(String stateCode) { if (stateCode != null) { request.append("<StateCode>").append(stateCode).append("</StateCode>"); } return this; } public ContactRequestBuilder setStateName(String stateName) { if (stateName != null) { request.append("<StateName>").append(stateName).append("</StateName>"); } return this; } public ContactRequestBuilder setCountryCode(String countryCode) { if (countryCode != null) { request.append("<CountryCode>").append(countryCode).append("</CountryCode>"); } return this; } public ContactRequestBuilder setCountryName(String countryName) { if (countryName != null) { request.append("<CountryName>").append(countryName).append("</CountryName>"); } return this; } public ContactRequestBuilder setPostalCode(String postalCode) { if (postalCode != null) { request.append("<PostalCode>").append(postalCode).append("</PostalCode>"); } return this; } public ContactRequestBuilder setSubPostalCode(String subPostalCode) { if (subPostalCode != null) { request.append("<SubPostalCode>").append(subPostalCode).append("</SubPostalCode>"); } return this; } public ContactRequestBuilder setNote(String note) { if (note != null) { request.append("<Note>").append(note).append("</Note>"); } return this; } public ContactRequestBuilder setCustomFieldValues(List<String> customFieldValues) { if (customFieldValues != null) { int i = 1; for (String customFieldValue : customFieldValues) { request.append("<CustomField").append(i).append(">").append(customFieldValue).append("</CustomField").append(i).append(">"); } } return this; } public ContactRequestBuilder setContactLists(List<String> contactLists) { if (contactLists != null) { request.append("<ContactLists>"); for (String contactList : contactLists) { request.append("<ContactList id=\"").append(contactList).append("\"/>"); } request.append("</ContactLists>"); } return this; } }