/* * Copyright 2010 Alibaba Group Holding Limited. * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* * @(#)DOMAttrImpl.java 1.11 2000/08/16 * */ package org.w3c.tidy; import org.w3c.dom.DOMException; import org.w3c.dom.Node; import org.w3c.dom.TypeInfo; import org.w3c.dom.UserDataHandler; /** * DOMAttrImpl (c) 1998-2000 (W3C) MIT, INRIA, Keio University See Tidy.java for * the copyright notice. Derived from <a * href="http://www.w3.org/People/Raggett/tidy"> HTML Tidy Release 4 Aug * 2000</a> * * @author Dave Raggett <dsr@w3.org> * @author Andy Quick <ac.quick@sympatico.ca> (translation to Java) * @version 1.11, 2000/08/16 Tidy Release 4 Aug 2000 */ public class DOMAttrImpl extends DOMNodeImpl implements org.w3c.dom.Attr { protected AttVal avAdaptee; protected DOMAttrImpl(AttVal adaptee) { super(null); // must override all methods of DOMNodeImpl this.avAdaptee = adaptee; } /* --------------------- DOM ---------------------------- */ @Override public String getNodeValue() throws DOMException { return getValue(); } @Override public void setNodeValue(String nodeValue) throws DOMException { setValue(nodeValue); } @Override public String getNodeName() { return getName(); } @Override public short getNodeType() { return org.w3c.dom.Node.ATTRIBUTE_NODE; } @Override public org.w3c.dom.Node getParentNode() { return null; } @Override public org.w3c.dom.NodeList getChildNodes() { // NOT SUPPORTED return null; } @Override public org.w3c.dom.Node getFirstChild() { // NOT SUPPORTED return null; } @Override public org.w3c.dom.Node getLastChild() { // NOT SUPPORTED return null; } @Override public org.w3c.dom.Node getPreviousSibling() { return null; } @Override public org.w3c.dom.Node getNextSibling() { return null; } @Override public org.w3c.dom.NamedNodeMap getAttributes() { return null; } @Override public org.w3c.dom.Document getOwnerDocument() { return null; } @Override public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild, org.w3c.dom.Node refChild) throws DOMException { throw new DOMExceptionImpl(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Not supported"); } @Override public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild, org.w3c.dom.Node oldChild) throws DOMException { throw new DOMExceptionImpl(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Not supported"); } @Override public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild) throws DOMException { throw new DOMExceptionImpl(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Not supported"); } @Override public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild) throws DOMException { throw new DOMExceptionImpl(DOMException.NO_MODIFICATION_ALLOWED_ERR, "Not supported"); } @Override public boolean hasChildNodes() { return false; } @Override public org.w3c.dom.Node cloneNode(boolean deep) { return null; } /** @see org.w3c.dom.Attr#getName */ public String getName() { return avAdaptee.attribute; } /** @see org.w3c.dom.Attr#getSpecified */ public boolean getSpecified() { return true; } /** * Returns value of this attribute. If this attribute has a null value, then * the attribute name is returned instead. Thanks to Brett Knights * <brett@knightsofthenet.com> for this fix. * * @see org.w3c.dom.Attr#getValue */ public String getValue() { return avAdaptee.value == null ? avAdaptee.attribute : avAdaptee.value; } /** @see org.w3c.dom.Attr#setValue */ public void setValue(String value) { avAdaptee.value = value; } /** DOM2 - not implemented. */ public org.w3c.dom.Element getOwnerElement() { return null; } public TypeInfo getSchemaTypeInfo() { return null; } public boolean isId() { return false; } @Override public short compareDocumentPosition(Node other) throws DOMException { return 0; } @Override public String getBaseURI() { return null; } @Override public Object getFeature(String feature, String version) { return null; } @Override public String getTextContent() throws DOMException { return null; } @Override public Object getUserData(String key) { return null; } @Override public boolean isDefaultNamespace(String namespaceURI) { return false; } @Override public boolean isEqualNode(Node arg) { return false; } @Override public boolean isSameNode(Node other) { return false; } @Override public String lookupNamespaceURI(String prefix) { return null; } @Override public String lookupPrefix(String namespaceURI) { return null; } @Override public void setTextContent(String textContent) throws DOMException { } @Override public Object setUserData(String key, Object data, UserDataHandler handler) { return null; } }