1) Fixed issue #764: Ignore strings when looking for single line comments.
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / wizards / html / ElementWriter.java
index 25573cf..8bd46ee 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ElementWriter.java,v 1.2 2005-05-06 00:57:33 stefanbjarni Exp $
+ * $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;
@@ -20,92 +20,94 @@ import org.w3c.dom.Text;
  */
 public class ElementWriter {
 
-       final public static int
-               BEGIN_CHANGELINE = 1,
-               END_CHANGELINE = 2;
-       
+       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){
+       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();
+
+       public int getExpandOption(String elementName) {
+               if (expandOptions.containsKey(elementName)) {
+                       return ((Integer) expandOptions.get(elementName)).intValue();
                }
                return defaultExpandOption;
        }
-       
-       boolean isBeginChangeLine(String elementName){
+
+       boolean isBeginChangeLine(String elementName) {
                return (getExpandOption(elementName) & BEGIN_CHANGELINE) != 0;
        }
-       
-       boolean isEndChangeLine(String elementName){
+
+       boolean isEndChangeLine(String elementName) {
                return (getExpandOption(elementName) & END_CHANGELINE) != 0;
        }
 
-       public String expandTag(Element element){
+       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{
+               try {
                        writer.write("<?xml version=\"1.0\"?>\n\n");
                        writer.write(new ElementWriter().expandTag(element));
-               }finally{
-                       if(writer != null){
+               } finally {
+                       if (writer != null) {
                                writer.close();
                        }
                }
        }
-       
-       void expandTag(Element element, int level, StringBuffer buff){
+
+       void expandTag(Element element, int level, StringBuffer buff) {
                expandIndent(level, buff);
-               
+
                String elementName = element.getNodeName();
-               buff.append('<' + elementName );
+               buff.append('<' + elementName);
                NamedNodeMap attrs = element.getAttributes();
-               for(int i=0; i<attrs.getLength(); i++){
+               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) + "\"");
+                       if (v != null) {
+                               buff.append(' ' + n.getNodeName() + "=\""
+                                               + HTMLUtilities.escape(v) + "\"");
                        }
                }
-               
+
                boolean emptyElem = element.getChildNodes().getLength() == 0;
-               if(emptyElem){
+               if (emptyElem) {
                        buff.append(" /");
                }
                buff.append('>');
-               if(!emptyElem ){
+               if (!emptyElem) {
                        NodeList childElements = element.getChildNodes();
-                       if(isBeginChangeLine(elementName)){
+                       if (isBeginChangeLine(elementName)) {
                                buff.append('\n');
                        }
-                       for(int i=0; i<childElements.getLength(); i++){
+                       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){
+                               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);
@@ -115,14 +117,14 @@ public class ElementWriter {
                        buff.append("</" + elementName + '>');
                }
                // already inserted change line.
-               if( isEndChangeLine(elementName) ){
+               if (isEndChangeLine(elementName)) {
                        buff.append('\n');
                }
        }
-       
-       void expandIndent(int level, StringBuffer buff){
-               if(indent != null){
-                       for(int i=0; i<level; i++){
+
+       void expandIndent(int level, StringBuffer buff) {
+               if (indent != null) {
+                       for (int i = 0; i < level; i++) {
                                buff.append(indent);
                        }
                }