Home | History | Annotate | Download | only in dom
      1 /*
      2  * Copyright (C) 2007 Esmertec AG.
      3  * Copyright (C) 2007 The Android Open Source Project
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *      http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  */
     17 
     18 package com.android.mms.dom;
     19 
     20 import org.w3c.dom.Attr;
     21 import org.w3c.dom.DOMException;
     22 import org.w3c.dom.Element;
     23 import org.w3c.dom.NamedNodeMap;
     24 import org.w3c.dom.NodeList;
     25 import org.w3c.dom.TypeInfo;
     26 
     27 public class ElementImpl extends NodeImpl implements Element {
     28     private String mTagName;
     29     private NamedNodeMap mAttributes = new NamedNodeMapImpl();
     30 
     31     /*
     32      * Internal methods
     33      */
     34 
     35     protected ElementImpl(DocumentImpl owner, String tagName) {
     36         super(owner);
     37         mTagName = tagName;
     38     }
     39 
     40     /*
     41      *  Element Interface methods
     42      */
     43 
     44     public String getAttribute(String name) {
     45         Attr attrNode = getAttributeNode(name);
     46         String attrValue = "";
     47         if (attrNode != null) {
     48             attrValue = attrNode.getValue();
     49         }
     50         return attrValue;
     51     }
     52 
     53     public String getAttributeNS(String namespaceURI, String localName) {
     54         // TODO Auto-generated method stub
     55         return null;
     56     }
     57 
     58     public Attr getAttributeNode(String name) {
     59         return (Attr)mAttributes.getNamedItem(name);
     60     }
     61 
     62     public Attr getAttributeNodeNS(String namespaceURI, String localName) {
     63         // TODO Auto-generated method stub
     64         return null;
     65     }
     66 
     67     public NodeList getElementsByTagName(String name) {
     68         return new NodeListImpl(this, name, true);
     69     }
     70 
     71     public NodeList getElementsByTagNameNS(String namespaceURI, String localName) {
     72         // TODO Auto-generated method stub
     73         return null;
     74     }
     75 
     76     public String getTagName() {
     77         return mTagName;
     78     }
     79 
     80     public boolean hasAttribute(String name) {
     81         return (getAttributeNode(name) != null);
     82     }
     83 
     84     public boolean hasAttributeNS(String namespaceURI, String localName) {
     85         // TODO Auto-generated method stub
     86         return false;
     87     }
     88 
     89     public void removeAttribute(String name) throws DOMException {
     90         // TODO Auto-generated method stub
     91 
     92     }
     93 
     94     public void removeAttributeNS(String namespaceURI, String localName)
     95             throws DOMException {
     96         // TODO Auto-generated method stub
     97 
     98     }
     99 
    100     public Attr removeAttributeNode(Attr oldAttr) throws DOMException {
    101         // TODO Auto-generated method stub
    102         return null;
    103     }
    104 
    105     public void setAttribute(String name, String value) throws DOMException {
    106         Attr attribute = getAttributeNode(name);
    107         if (attribute == null) {
    108             attribute = mOwnerDocument.createAttribute(name);
    109         }
    110         attribute.setNodeValue(value);
    111         mAttributes.setNamedItem(attribute);
    112     }
    113 
    114     public void setAttributeNS(String namespaceURI, String qualifiedName,
    115             String value) throws DOMException {
    116         // TODO Auto-generated method stub
    117 
    118     }
    119 
    120     public Attr setAttributeNode(Attr newAttr) throws DOMException {
    121         // TODO Auto-generated method stub
    122         return null;
    123     }
    124 
    125     public Attr setAttributeNodeNS(Attr newAttr) throws DOMException {
    126         // TODO Auto-generated method stub
    127         return null;
    128     }
    129 
    130     /*
    131      * Node Interface methods
    132      */
    133 
    134     @Override
    135     public short getNodeType() {
    136         return ELEMENT_NODE;
    137     }
    138 
    139     @Override
    140     public String getNodeName() {
    141         // The value of nodeName is tagName when Node is an Element
    142         return mTagName;
    143     }
    144 
    145     @Override
    146     public NamedNodeMap getAttributes() {
    147         return mAttributes;
    148     }
    149 
    150     @Override
    151     public boolean hasAttributes() {
    152         return (mAttributes.getLength() > 0);
    153     }
    154 
    155     public TypeInfo getSchemaTypeInfo() {
    156         return null;
    157     }
    158 
    159     public void setIdAttribute(String name, boolean isId) throws DOMException {
    160         throw new DOMException(DOMException.NOT_SUPPORTED_ERR, null);
    161     }
    162 
    163     public void setIdAttributeNS(String namespaceURI, String localName,
    164             boolean isId) throws DOMException {
    165         throw new DOMException(DOMException.NOT_SUPPORTED_ERR, null);
    166     }
    167 
    168     public void setIdAttributeNode(Attr idAttr, boolean isId)
    169             throws DOMException {
    170         throw new DOMException(DOMException.NOT_SUPPORTED_ERR, null);
    171     }
    172 }
    173