/** * ESUP-Portail Helpdesk - Copyright (c) 2004-2009 ESUP-Portail consortium. */ package org.esupportail.helpdesk.services.feed.imap; import java.util.Collection; import org.htmlcleaner.HtmlTagProvider; import org.htmlcleaner.TagInfo; /** * A tag provider for HTML CLEANER that uses only a few tags. */ public class MessageHtmlTagProvider extends HtmlTagProvider { /** * The serialization id. */ private static final long serialVersionUID = -15410477847599959L; /** * Singleton instance. */ private static MessageHtmlTagProvider instance; /** * Constructor. */ public MessageHtmlTagProvider() { super(); } /** * @return singleton instance of this class. */ public static synchronized MessageHtmlTagProvider getInstance() { if (instance == null) { instance = new MessageHtmlTagProvider(); } return instance; } /** * Definition of all HTML tags together with rules for tag balancing. */ @SuppressWarnings("unchecked") @Override protected void defineTags() { super.defineTags(); super.remove("img"); super.remove("wbr"); super.remove("spacer"); for (TagInfo tagInfo : (Collection<TagInfo>) values()) { tagInfo.setDeprecated(true); } getTagInfo("script").setDeprecated(false); getTagInfo("meta").setDeprecated(false); getTagInfo("style").setDeprecated(false); getTagInfo("div").setDeprecated(false); getTagInfo("br").setDeprecated(false); getTagInfo("span").setDeprecated(false); getTagInfo("h1").setDeprecated(false); getTagInfo("h2").setDeprecated(false); getTagInfo("h3").setDeprecated(false); getTagInfo("h4").setDeprecated(false); getTagInfo("h5").setDeprecated(false); getTagInfo("h6").setDeprecated(false); getTagInfo("p").setDeprecated(false); getTagInfo("pre").setDeprecated(false); getTagInfo("strong").setDeprecated(false); getTagInfo("em").setDeprecated(false); getTagInfo("blockquote").setDeprecated(false); getTagInfo("code").setDeprecated(false); getTagInfo("a").setDeprecated(false); getTagInfo("ul").setDeprecated(false); getTagInfo("ol").setDeprecated(false); getTagInfo("li").setDeprecated(false); getTagInfo("dl").setDeprecated(false); getTagInfo("dt").setDeprecated(false); getTagInfo("dd").setDeprecated(false); getTagInfo("table").setDeprecated(false); getTagInfo("tr").setDeprecated(false); getTagInfo("td").setDeprecated(false); getTagInfo("th").setDeprecated(false); getTagInfo("tbody").setDeprecated(false); getTagInfo("thead").setDeprecated(false); getTagInfo("tfoot").setDeprecated(false); getTagInfo("col").setDeprecated(false); getTagInfo("colgroup").setDeprecated(false); getTagInfo("caption").setDeprecated(false); getTagInfo("b").setDeprecated(false); getTagInfo("i").setDeprecated(false); getTagInfo("u").setDeprecated(false); getTagInfo("tt").setDeprecated(false); getTagInfo("sub").setDeprecated(false); getTagInfo("sup").setDeprecated(false); getTagInfo("big").setDeprecated(false); getTagInfo("small").setDeprecated(false); getTagInfo("strike").setDeprecated(false); getTagInfo("blink").setDeprecated(false); getTagInfo("marquee").setDeprecated(false); getTagInfo("s").setDeprecated(false); getTagInfo("hr").setDeprecated(false); getTagInfo("font").setDeprecated(false); getTagInfo("basefont").setDeprecated(false); getTagInfo("title").setDeprecated(false); } }