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    }