Changeset 7434


Ignore:
Timestamp:
12/17/10 13:20:27 (9 years ago)
Author:
aivar
Message:

Refactored XMLHelper into XMLParser and XMLWriter.

Location:
branches/maven/projects/deep-zoom-plugin/src/main/java/loci/util
Files:
3 added
3 copied

Legend:

Unmodified
Added
Removed
  • branches/maven/projects/deep-zoom-plugin/src/main/java/loci/util/xml/XMLException.java

    r7432 r7434  
    44 */ 
    55 
    6 package loci.workflow; 
     6package loci.util.xml; 
    77 
    88/** 
  • branches/maven/projects/deep-zoom-plugin/src/main/java/loci/util/xml/XMLParser.java

    r7432 r7434  
    44 */ 
    55 
    6 package loci.workflow; 
    7  
    8 import java.lang.StringBuilder; 
     6package loci.util.xml; 
    97 
    108/** 
    11  * XML Parser & Writer. 
     9 * XML-light Parser. 
    1210 * 
    1311 * @author Aivar Grislis 
    1412 */ 
    15 public class XMLHelper { 
    16     StringBuilder m_string; 
    17     int m_indent = 0; 
    18  
    19     /** 
    20      * Constructs a helper for parsing XML. 
    21      */ 
    22     public XMLHelper() { 
    23         m_string = null; 
    24     } 
    25  
    26  
    27     /** 
    28      * Constructs a helper for writing to given 
    29      * string. 
    30      * 
    31      * @param string 
    32      */ 
    33     public XMLHelper(StringBuilder string) { 
    34         m_string = string; 
    35     } 
     13public class XMLParser { 
    3614 
    3715    /** 
     
    7856            int startContentIndex = endBracketIndex + 1; 
    7957            String name = xml.substring(1, endBracketIndex); 
    80             System.out.println("tag is [" + name + "]"); 
    8158            String endTag = "</" + name + ">"; 
    8259            int endTagIndex = xml.indexOf(endTag); 
     
    9067                content = xml.substring(startContentIndex, endTagIndex); 
    9168            } 
    92             //System.out.println("content is [" + content + "]"); 
    9369 
    9470            String remainder = xml.substring(remainderIndex, xml.length()); 
    95             //System.out.println("remainder is [" + remainder + "]"); 
    9671 
    97             return new XMLTag(name, content.trim(), remainder.trim()); 
     72            return new XMLTag(name.trim(), content.trim(), remainder.trim()); 
    9873        } 
    9974        catch (IndexOutOfBoundsException e) { 
     
    10176        } 
    10277    } 
    103  
    104     /** 
    105      * For writing, starts a new tag. 
    106      * 
    107      * @param name 
    108      */ 
    109     public void addTag(String name) { 
    110         doIndent(); 
    111         m_string.append('<'); 
    112         m_string.append(name); 
    113         m_string.append('>'); 
    114         m_string.append('\n'); 
    115         ++m_indent; 
    116     } 
    117  
    118     /** 
    119      * For writing, ends a tag. 
    120      * 
    121      * @param name 
    122      */ 
    123     public void addEndTag(String name) { 
    124         --m_indent; 
    125         doIndent(); 
    126         m_string.append('<'); 
    127         m_string.append('/'); 
    128         m_string.append(name); 
    129         m_string.append('>'); 
    130         m_string.append('\n'); 
    131     } 
    132  
    133     /** 
    134      * Adds a tag with some content on a single line. 
    135      * 
    136      * @param name 
    137      * @param content 
    138      */ 
    139     public void addTagWithContent(String name, String content) { 
    140         doIndent(); 
    141         m_string.append('<'); 
    142         m_string.append(name); 
    143         m_string.append('>'); 
    144         m_string.append(content); 
    145         m_string.append('<'); 
    146         m_string.append('/'); 
    147         m_string.append(name); 
    148         m_string.append('>'); 
    149         m_string.append('\n'); 
    150     } 
    151  
    152     /** 
    153      * Adds an embedded XML string with proper indent. 
    154      * 
    155      * @param output 
    156      */ 
    157     public void add(String output) { 
    158         String lines[] = output.split("\n"); 
    159         for (String line: lines) { 
    160             doIndent(); 
    161             m_string.append(output); 
    162             m_string.append('\n'); 
    163         } 
    164     } 
    165  
    166     /** 
    167      * Does indentation. 
    168      */ 
    169     private void doIndent() { 
    170         for (int i = 0; i < 2 * m_indent; ++i) { 
    171             m_string.append(' '); 
    172         } 
    173     } 
    17478} 
  • branches/maven/projects/deep-zoom-plugin/src/main/java/loci/util/xml/XMLTag.java

    r7432 r7434  
    44 */ 
    55 
    6 package loci.workflow; 
     6package loci.util.xml; 
    77 
    88/** 
Note: See TracChangeset for help on using the changeset viewer.