155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project/*
255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * Copyright (C) 2007 The Android Open Source Project
355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project *
455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * Licensed under the Eclipse Public License, Version 1.0 (the "License");
555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * you may not use this file except in compliance with the License.
655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * You may obtain a copy of the License at
755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project *
855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project *      http://www.eclipse.org/org/documents/epl-v10.php
955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project *
1055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
1155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
1255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * See the License for the specific language governing permissions and
1455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * limitations under the License.
1555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project */
1655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
1769425d803b34589309a69eddc53a338e1409b30cXavier Ducrohetpackage com.android.ide.eclipse.adt.internal.editors.mock;
1855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
1955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectimport org.w3c.dom.DOMException;
2055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectimport org.w3c.dom.Document;
2155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectimport org.w3c.dom.NamedNodeMap;
2255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectimport org.w3c.dom.Node;
2355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectimport org.w3c.dom.NodeList;
2455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectimport org.w3c.dom.UserDataHandler;
2555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
2655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectimport java.util.HashMap;
2755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
2855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
2955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project/**
3055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * A mock XML node with only a minimal set of information.
3155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project */
3255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectpublic class MockXmlNode implements Node {
33902280200956f077a0ef571435091b4b9a9e5306Raphael
3455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    MockNodeList mNodeList;
3555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    private String mLocalName;
3655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    private String mNamespace;
3755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    private short mNodeType;
3855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    private MockXmlNode mParent;
3955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    private MockXmlNode mPreviousSibling;
4055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    private MockXmlNode mNextSibling;
4155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    private String mAttrValue;
4255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    private MockNamedNodeMap mAttributes;
43902280200956f077a0ef571435091b4b9a9e5306Raphael
4455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    // namespace stuff only set in the root node
4555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    /** map from namespace to prefix. */
4655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    private HashMap<String, String> mNsMap = null;
47902280200956f077a0ef571435091b4b9a9e5306Raphael
4855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    /**
4955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project     * Constructs a node from a given children list.
50902280200956f077a0ef571435091b4b9a9e5306Raphael     *
5155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project     * @param namespace The namespace of the node or null if none
5255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project     * @param localName The XML local node name.
5355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project     * @param node_type One of Node.xxx_NODE constants, e.g. Node.ELEMENT_NODE
5455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project     * @param children The children list. Can be null.
5555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project     */
5655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public MockXmlNode(String namespace, String localName, short node_type,
5755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            MockXmlNode[] children) {
5855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        mLocalName = localName;
5955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        mNamespace = namespace;
6055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        mNodeType = node_type;
6155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        mNodeList = new MockNodeList(children);
6255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        fixNavigation();
6355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
6455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
6555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    /**
6655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project     * Constructs an attribute node
67902280200956f077a0ef571435091b4b9a9e5306Raphael     *
6855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project     * @param namespace The namespace of the node or null if none
6955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project     * @param localName The XML local node name.
7055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project     * @param value the value of the attribute
7155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project     */
7255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public MockXmlNode(String namespace, String localName, String value) {
7355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        mLocalName = localName;
7455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        mNamespace = namespace;
7555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        mAttrValue = value;
7655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        mNodeType = Node.ATTRIBUTE_NODE;
7755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        mNodeList = new MockNodeList(new MockXmlNode[0]);
7855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        fixNavigation();
7955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
8055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
8155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    private void fixNavigation() {
8255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        MockXmlNode prev = null;
8355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        for (MockXmlNode n : mNodeList.getArrayList()) {
8455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            n.mParent = this;
8555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            n.mPreviousSibling = prev;
8655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            if (prev != null) {
8755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                prev.mNextSibling = n;
8855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            }
8955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            n.fixNavigation();
9055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            prev = n;
9155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        }
9255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
93902280200956f077a0ef571435091b4b9a9e5306Raphael
9455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public void addAttributes(String namespaceURI, String localName, String value) {
9555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        if (mAttributes == null) {
9655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            mAttributes = new MockNamedNodeMap();
9755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        }
98902280200956f077a0ef571435091b4b9a9e5306Raphael
9955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        MockXmlNode node = mAttributes.addAttribute(namespaceURI, localName, value);
10055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        node.mParent = this;
10155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
102902280200956f077a0ef571435091b4b9a9e5306Raphael
10355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public void setPrefix(String namespace, String prefix) {
10455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        if (mNsMap == null) {
10555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            mNsMap = new HashMap<String, String>();
10655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        }
10755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
10855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        mNsMap.put(namespace, prefix);
10955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
110902280200956f077a0ef571435091b4b9a9e5306Raphael
11155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public String getPrefix(String namespace) {
11255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        if (mNsMap != null) {
11355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            return mNsMap.get(namespace);
11455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        }
115902280200956f077a0ef571435091b4b9a9e5306Raphael
11655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mParent.getPrefix(namespace);
11755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
11855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
119902280200956f077a0ef571435091b4b9a9e5306Raphael
12055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    // ----------- Node methods
12155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
122ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
12355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Node appendChild(Node newChild) throws DOMException {
12455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        mNodeList.getArrayList().add((MockXmlNode) newChild);
12555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return newChild;
12655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
12755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
128ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
12955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public NamedNodeMap getAttributes() {
13055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mAttributes;
13155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
13255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
133ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
13455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public NodeList getChildNodes() {
13555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mNodeList;
13655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
13755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
138ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
13955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Node getFirstChild() {
14055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        if (mNodeList.getLength() > 0) {
14155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            return mNodeList.item(0);
14255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        }
14355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return null;
14455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
14555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
146ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
14755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Node getLastChild() {
14855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        if (mNodeList.getLength() > 0) {
14955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            return mNodeList.item(mNodeList.getLength() - 1);
15055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        }
15155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return null;
15255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
15355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
154ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
15555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Node getNextSibling() {
15655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mNextSibling;
15755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
15855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
159ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
16055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public String getNodeName() {
16155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mLocalName;
16255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
163902280200956f077a0ef571435091b4b9a9e5306Raphael
164ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
16555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public String getLocalName() {
16655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mLocalName;
16755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
16855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
169ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
17055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public short getNodeType() {
17155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mNodeType;
17255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
17355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
174ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
17555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Node getParentNode() {
17655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mParent;
17755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
17855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
179ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
18055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Node getPreviousSibling() {
18155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mPreviousSibling;
18255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
18355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
184ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
18555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public boolean hasChildNodes() {
18655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mNodeList.getLength() > 0;
18755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
18855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
189ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
19055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public boolean hasAttributes() {
191902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
19255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
19355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
194ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
19555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public boolean isSameNode(Node other) {
19655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return this == other;
19755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
198902280200956f077a0ef571435091b4b9a9e5306Raphael
199ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
20055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public String getNodeValue() throws DOMException {
20155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mAttrValue;
20255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
203902280200956f077a0ef571435091b4b9a9e5306Raphael
204ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
20555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public String getPrefix() {
20655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return getPrefix(getNamespaceURI());
20755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
20855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
209ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
21055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public String getNamespaceURI() {
21155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return mNamespace;
21255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
21355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
21455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
21555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    // --- methods not implemented ---
216902280200956f077a0ef571435091b4b9a9e5306Raphael
217ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
21855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Node cloneNode(boolean deep) {
219902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
22055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
22155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
222ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
22355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public short compareDocumentPosition(Node other) throws DOMException {
224902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
22555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
22655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
227ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
22855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public String getBaseURI() {
229902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
23055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
23155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
232ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
23355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Object getFeature(String feature, String version) {
234902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
23555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
23655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
237ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
23855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Document getOwnerDocument() {
239902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
24055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
24155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
242ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
24355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public String getTextContent() throws DOMException {
244902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
24555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
24655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
247ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
24855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Object getUserData(String key) {
249902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
25055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
25155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
252ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
25355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Node insertBefore(Node newChild, Node refChild)
25455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            throws DOMException {
255902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
25655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
25755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
258ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
25955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public boolean isDefaultNamespace(String namespaceURI) {
260902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
26155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
26255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
263ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
26455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public boolean isEqualNode(Node arg) {
265902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
26655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
26755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
268ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
26955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public boolean isSupported(String feature, String version) {
270902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
27155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
27255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
273ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
27455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public String lookupNamespaceURI(String prefix) {
275902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
27655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
27755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
278ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
27955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public String lookupPrefix(String namespaceURI) {
280902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
28155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
28255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
283ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
28455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public void normalize() {
285902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
28655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
28755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
288ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
28955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Node removeChild(Node oldChild) throws DOMException {
290902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
29155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
29255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
293ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
29455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Node replaceChild(Node newChild, Node oldChild)
29555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            throws DOMException {
296902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
29755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
29855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
299ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
30055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public void setNodeValue(String nodeValue) throws DOMException {
301902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
30255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
30355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
304ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
30555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public void setPrefix(String prefix) throws DOMException {
306902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
30755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
30855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
309ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
31055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public void setTextContent(String textContent) throws DOMException {
311902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
31255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
31355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
314ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
31555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Object setUserData(String key, Object data,
31655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            UserDataHandler handler) {
317902280200956f077a0ef571435091b4b9a9e5306Raphael        throw new UnsupportedOperationException("Operation not implemented.");  //$NON-NLS-1$
31855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
31955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project}
320