001 package railo.runtime.text.xml.struct; 002 003 import org.w3c.dom.Attr; 004 import org.w3c.dom.DOMException; 005 import org.w3c.dom.Element; 006 import org.w3c.dom.Node; 007 import org.w3c.dom.TypeInfo; 008 009 import railo.runtime.type.Collection; 010 011 /** 012 * 013 */ 014 public final class XMLAttrStruct extends XMLNodeStruct implements Attr { 015 016 private Attr attr; 017 018 /** 019 * constructor of the class 020 * @param section 021 * @param caseSensitive 022 */ 023 public XMLAttrStruct(Attr attr, boolean caseSensitive) { 024 super(attr,caseSensitive); 025 this.attr=attr; 026 } 027 028 @Override 029 public String getName() { 030 return attr.getName(); 031 } 032 033 @Override 034 public Element getOwnerElement() { 035 return new XMLElementStruct(attr.getOwnerElement(),caseSensitive); 036 } 037 038 @Override 039 public boolean getSpecified() { 040 return attr.getSpecified(); 041 } 042 043 @Override 044 public String getValue() { 045 return attr.getValue(); 046 } 047 048 @Override 049 public void setValue(String arg0) throws DOMException { 050 attr.setValue(arg0); 051 } 052 053 public TypeInfo getSchemaTypeInfo() { 054 return null; 055 } 056 057 public boolean isId() { 058 return false; 059 } 060 061 @Override 062 public Collection duplicate(boolean deepCopy) { 063 return new XMLAttrStruct((Attr)attr.cloneNode(deepCopy),caseSensitive); 064 } 065 066 067 @Override 068 public Node cloneNode(boolean deep) { 069 return new XMLAttrStruct((Attr)attr.cloneNode(deep),caseSensitive); 070 } 071 }