package tk.eclipse.plugin.jspeditor.converters; import java.util.Iterator; import java.util.Map; import jp.aonir.fuzzyxml.FuzzyXMLNode; import tk.eclipse.plugin.jspeditor.editors.JSPInfo; public class HTMLConverter extends AbstractCustomTagConverter { private String _tagName = null; public HTMLConverter(String tagName){ this._tagName = tagName; } protected String convertStartTag(Map attributes) { return "<" + createTag(_tagName,attributes) + ">"; } protected String convertEndTag() { if(_tagName.indexOf(" ")!=-1){ return "</" + _tagName.substring(0,_tagName.indexOf(" ")) + ">"; } else { return "</" + _tagName + ">"; } } protected String createTag(String tagName,Map attributes){ StringBuffer sb = new StringBuffer(); sb.append(tagName); Iterator ite = attributes.keySet().iterator(); while(ite.hasNext()){ Object key = ite.next(); sb.append(" " + key + "=\"" + attributes.get(key) + "\""); } return sb.toString(); } public String process(Map attrs, FuzzyXMLNode[] children,JSPInfo info) { StringBuffer sb = new StringBuffer(); sb.append(convertStartTag(attrs)); sb.append(evalBody(children,info)); sb.append(convertEndTag()); return sb.toString(); } }