| /* |
| * Copyright 2001-2004 The Apache Software Foundation. |
| * |
| * 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. |
| */ |
| |
| package org.apache.axis.message; |
| |
| import javax.xml.namespace.QName; |
| import javax.xml.soap.Name; |
| |
| public class PrefixedQName implements Name { |
| /** comment/shared empty string */ |
| private static final String emptyString = "".intern(); |
| |
| private String prefix; |
| private QName qName; |
| |
| public PrefixedQName(String uri, String localName, String pre) { |
| qName = new QName(uri, localName); |
| prefix = (pre == null) |
| ? emptyString |
| : pre.intern(); |
| } |
| |
| public PrefixedQName(QName qname) { |
| this.qName = qname; |
| prefix = emptyString; |
| } |
| |
| public String getLocalName() { |
| return qName.getLocalPart(); |
| } |
| |
| public String getQualifiedName() { |
| StringBuffer buf = new StringBuffer(prefix); |
| if(prefix != emptyString) |
| buf.append(':'); |
| buf.append(qName.getLocalPart()); |
| return buf.toString(); |
| } |
| |
| public String getURI() { |
| return qName.getNamespaceURI(); |
| } |
| |
| public String getPrefix() { |
| return prefix; |
| } |
| public boolean equals(Object obj) { |
| if (obj == this) { |
| return true; |
| } |
| if (!(obj instanceof PrefixedQName)) { |
| return false; |
| } |
| if (!qName.equals(((PrefixedQName)obj).qName)) { |
| return false; |
| } |
| if (prefix == ((PrefixedQName) obj).prefix) { |
| return true; |
| } |
| return false; |
| } |
| |
| public int hashCode() { |
| return prefix.hashCode() + qName.hashCode(); |
| } |
| |
| public String toString() { |
| return qName.toString(); |
| } |
| } |