X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/html/ElementWriter.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/html/ElementWriter.java deleted file mode 100644 index 8bd46ee..0000000 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/html/ElementWriter.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * $Id: ElementWriter.java,v 1.3 2006-10-21 23:18:43 pombredanne Exp $ - * Copyright Narushima Hironori. All rights reserved. - */ -package net.sourceforge.phpeclipse.wizards.html; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.util.HashMap; - -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.w3c.dom.Text; - -/** - * ElementWriter provides destribute xml code. - */ -public class ElementWriter { - - final public static int BEGIN_CHANGELINE = 1, END_CHANGELINE = 2; - - boolean trim = true; - - HashMap expandOptions = new HashMap(); - - int defaultExpandOption; - - String indent; - - public ElementWriter() { - this(0, " "); - } - - public ElementWriter(int defaultExpandOption, String indent) { - this.defaultExpandOption = defaultExpandOption; - this.indent = indent; - } - - public void setExpandOption(String elementName, int value) { - expandOptions.put(elementName, new Integer(value)); - } - - public int getExpandOption(String elementName) { - if (expandOptions.containsKey(elementName)) { - return ((Integer) expandOptions.get(elementName)).intValue(); - } - return defaultExpandOption; - } - - boolean isBeginChangeLine(String elementName) { - return (getExpandOption(elementName) & BEGIN_CHANGELINE) != 0; - } - - boolean isEndChangeLine(String elementName) { - return (getExpandOption(elementName) & END_CHANGELINE) != 0; - } - - public String expandTag(Element element) { - StringBuffer buff = new StringBuffer(); - expandTag(element, 0, buff); - return buff.toString(); - } - - public void writeTag(Element element, OutputStream out) throws IOException { - OutputStreamWriter writer = new OutputStreamWriter(out); - try { - writer.write("\n\n"); - writer.write(new ElementWriter().expandTag(element)); - } finally { - if (writer != null) { - writer.close(); - } - } - } - - void expandTag(Element element, int level, StringBuffer buff) { - expandIndent(level, buff); - - String elementName = element.getNodeName(); - buff.append('<' + elementName); - NamedNodeMap attrs = element.getAttributes(); - for (int i = 0; i < attrs.getLength(); i++) { - Node n = attrs.item(i); - String v = n.getNodeValue(); - if (v != null) { - buff.append(' ' + n.getNodeName() + "=\"" - + HTMLUtilities.escape(v) + "\""); - } - } - - boolean emptyElem = element.getChildNodes().getLength() == 0; - if (emptyElem) { - buff.append(" /"); - } - buff.append('>'); - if (!emptyElem) { - NodeList childElements = element.getChildNodes(); - if (isBeginChangeLine(elementName)) { - buff.append('\n'); - } - for (int i = 0; i < childElements.getLength(); i++) { - Node node = childElements.item(i); - if (node instanceof Element) { - expandTag((Element) node, level + 1, buff); - } else if (node instanceof Text) { - String text = ((Text) node).getNodeValue(); - if (trim && (text = text.trim()).length() == 0) { - continue; - } - buff.append(text); - } - } - expandIndent(level, buff); - buff.append("'); - } - // already inserted change line. - if (isEndChangeLine(elementName)) { - buff.append('\n'); - } - } - - void expandIndent(int level, StringBuffer buff) { - if (indent != null) { - for (int i = 0; i < level; i++) { - buff.append(indent); - } - } - } - - public int getDefaultExpandOption() { - return defaultExpandOption; - } - - public void setDefaultExpandOption(int i) { - defaultExpandOption = i; - } - -} \ No newline at end of file