1 9 10 package org.ozoneDB.xml.dom4j.o3impl; 11 12 import org.dom4j.*; 13 14 import java.io.IOException ; 15 import java.io.Writer ; 16 17 23 public abstract class AbstractAttribute extends AbstractNode implements Attribute { 24 25 public short getNodeType() { 26 return ATTRIBUTE_NODE; 27 } 28 29 30 public void setNamespace(Namespace namespace) { 31 throw new UnsupportedOperationException ("This Attribute is read only and cannot be changed"); 32 } 33 34 public String getText() { 35 return getValue(); 36 } 37 38 public void setText(String text) { 39 setValue(text); 40 } 41 42 public void setValue(String value) { 43 throw new UnsupportedOperationException ("This Attribute is read only and cannot be changed"); 44 } 45 46 public Object getData() { 47 return getValue(); 48 } 49 50 public void setData(Object data) { 51 setValue(data == null ? null : data.toString()); 52 } 53 54 public String toString() { 55 return super.toString() + " [Attribute: name " + getQualifiedName() 56 + " value \"" + getValue() + "\"]"; 57 } 58 59 public String asXML() { 60 return getQualifiedName() + "=\"" + getValue() + "\""; 61 } 62 63 public void write(Writer writer) throws IOException { 64 writer.write(getQualifiedName()); 65 writer.write("=\""); 66 writer.write(getValue()); 67 writer.write("\""); 68 } 69 70 public void accept(Visitor visitor) { 71 visitor.visit(this); 72 } 73 74 76 public Namespace getNamespace() { 77 return getQName().getNamespace(); 78 } 79 80 public String getName() { 81 return getQName().getName(); 82 } 83 84 public String getNamespacePrefix() { 85 return getQName().getNamespacePrefix(); 86 } 87 88 public String getNamespaceURI() { 89 return getQName().getNamespaceURI(); 90 } 91 92 public String getQualifiedName() { 93 return getQName().getQualifiedName(); 94 } 95 96 public String getPath(Element context) { 97 Element parent = getParent(); 98 return (parent != null && parent != context) 99 ? parent.getPath(context) + "/@" + getName() 100 : "@" + getName(); 101 } 102 103 public String getUniquePath(Element context) { 104 Element parent = getParent(); 105 return (parent != null && parent != context) 106 ? parent.getUniquePath(context) + "/@" + getName() 107 : "@" + getName(); 108 } 109 110 protected Node createXPathResult(Element parent) { 111 return new DefaultAttribute(parent, getQName(), getValue()); 112 } 113 } 114 115 116 160 | Popular Tags |