1 21 22 package org.armedbear.j; 23 24 import org.xml.sax.Attributes ; 25 import org.xml.sax.helpers.AttributesImpl ; 26 27 public final class XmlTreeElement 28 { 29 private final String name; 30 private final Attributes attributes; 31 private final int lineNumber; 32 private final int columnNumber; 33 34 public XmlTreeElement(String name, Attributes attributes, int lineNumber, 35 int columnNumber) 36 { 37 this.name = name; 38 this.attributes = new AttributesImpl (attributes); 40 this.lineNumber = lineNumber; 41 this.columnNumber = columnNumber; 42 } 43 44 public final String getName() 45 { 46 return name; 47 } 48 49 public String toString() 51 { 52 return getStatusText(); 53 } 54 55 public String getStatusText() 56 { 57 FastStringBuffer sb = new FastStringBuffer(name); 58 for (int i = 0; i < attributes.getLength(); i++) 59 appendNameAndValue(sb, attributes.getQName(i), attributes.getValue(i)); 60 return sb.toString(); 61 } 62 63 private void appendNameAndValue(FastStringBuffer sb, String name, String value) 64 { 65 sb.append(' '); 66 sb.append(name); 67 sb.append("="); 68 final char quoteChar = value.indexOf('"') < 0 ? '"' : '\''; 69 sb.append(quoteChar); 70 sb.append(value); 71 sb.append(quoteChar); 72 } 73 74 public final int getLineNumber() 75 { 76 return lineNumber; 77 } 78 79 public final int getColumnNumber() 80 { 81 return columnNumber; 82 } 83 } 84 | Popular Tags |