/**
* Copyright 2011 Intuit Inc. All Rights Reserved
*/
package com.intuit.tank.vm.settings;
/*
* #%L
* Intuit Tank Api
* %%
* Copyright (C) 2011 - 2015 Intuit Inc.
* %%
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
* #L%
*/
import java.io.Serializable;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* MailMessage
*
* @author dangleton
*
*/
public class MailMessage implements Serializable {
private static final long serialVersionUID = 1L;
private String body;
private String subject;
private String cssStyle;
/**
* @param body
* @param subject
*/
public MailMessage(String body, String subject, String cssStyle) {
this.body = body;
this.subject = subject;
this.cssStyle = cssStyle;
}
/**
* @return the body
*/
public String getBody() {
return body;
}
/**
* @return the subject
*/
public String getSubject() {
return subject;
}
/**
* @return the cssStyle
*/
public String getCssStyle() {
return cssStyle;
}
public String getPlainTextBody() {
String ret = body.replace(" ", " ");
return ret.replaceAll("<(?!\\/?a(?=>|\\s.*>))\\/?.*?>", "");
}
/**
* @return
*/
public String getHtmlBody() {
StringBuilder sb = new StringBuilder();
sb.append(
"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">")
.append('\n');
sb.append("<html>").append('\n');
sb.append("<head>").append('\n');
sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">");
if (StringUtils.isNotBlank(cssStyle)) {
sb.append("<style type=\"text/css\">").append('\n');
sb.append(cssStyle).append('\n');
sb.append("</style>").append('\n');
}
sb.append("</head>").append('\n');
sb.append("<body>").append('\n');
sb.append(body);
sb.append("</body>").append('\n');
sb.append("</html>").append('\n');
return sb.toString();
}
/**
* @{inheritDoc
*/
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}