public class QName extends Object implements Serializable
QName
class represents the value of a qualified name
as specified in XML
Schema Part2: Datatypes specification.
The WSDL4J version of QName has been copied and updated for Apache Woden to
match the Javadoc of the QName class defined for Java 5.0 at:
http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/namespace/QName.html
The value of a QName contains a namespaceURI, a localPart and a prefix. The localPart provides the local part of the qualified name. The namespaceURI is a URI reference identifying the namespace. The prefix corresponds to a namespace declaration 'xmlns:somePrefix' in the underlying xml.
Note: Some of this impl code was taken from Axis.
The constructors throw an IllegalArgumentException if the 'localPart' argument is null, but if it is the empty string ("") they just create the QName object with the localPart set to the empty string. The 'prefix' property defaults to the empty string for the two constructors that do not take a 'prefix' argument. The constructor that does take a 'prefix' argument will throw an IllegalArgumentException if a null value is used (i.e. the absence of any 'prefix' must be specified explicitly as the empty string "").
The valueOf
method behaves like the constructors in that
a null value will throw an IllegalArgumentException, but an empty string ""
value will be treated as a localPart rather than an IllegalArgumentException
to retain compatibility with v1.0 QName.
To support the deserialization of objects that were serialized with an
older version of QName (i.e. without a 'prefix' field), the
readObject
method will check if the 'prefix'
value is null after default deserialization and if so, change it to the
empty string.
Constructor and Description |
---|
QName(String localPart)
Constructor for the QName.
|
QName(String namespaceURI,
String localPart)
Constructor for the QName.
|
QName(String namespaceURI,
String localPart,
String prefix)
Constructor for the QName.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Tests this QName for equality with another object.
|
String |
getLocalPart()
Gets the Local part for this QName
|
String |
getNamespaceURI()
Gets the Namespace URI for this QName
|
String |
getPrefix()
Gets the prefix for this QName
|
int |
hashCode()
Returns a hash code value for this QName object.
|
String |
toString()
Returns a string representation of this QName
|
static QName |
valueOf(String s)
Returns a QName holding the value of the specified String.
|
public QName(String localPart)
localPart
- Local part of the QNameIllegalArgumentException
- if localPart is null.public QName(String namespaceURI, String localPart)
namespaceURI
- Namespace URI for the QNamelocalPart
- Local part of the QName.IllegalArgumentException
- if localPart is null.public QName(String namespaceURI, String localPart, String prefix)
namespaceURI
- Namespace URI for the QNamelocalPart
- Local part of the QName.prefix
- the xmlns-declared prefix for this namespaceURIIllegalArgumentException
- if localPart or prefix is null.public String getNamespaceURI()
public String getLocalPart()
public String getPrefix()
public String toString()
public final boolean equals(Object obj)
If the given object is not a QName or is null then this method returns false.
For two QNames to be considered equal requires that both
localPart and namespaceURI must be equal. This method uses
String.equals
to check equality of localPart
and namespaceURI. The prefix is NOT used to determine equality.
Any class that extends QName is required
to satisfy this equality contract.
This method satisfies the general contract of the Object.equals
method.
public static QName valueOf(String s)
The string must be in the form returned by the QName.toString() method, i.e. "{namespaceURI}localPart", with the "{namespaceURI}" part being optional. If the Namespace URI .equals(""), only the local part should be provided. An empty string "" value will be treated as the localPart.
The prefix value CANNOT be represented in the String and will be set to "".
This method doesn't do a full validation of the resulting QName. In particular, it doesn't check that the resulting namespace URI is a legal URI (per RFC 2396 and RFC 2732), nor that the resulting local part is a legal NCName per the XML Namespaces specification.
s
- the string to be parsedIllegalArgumentException
- If the specified String
cannot be parsed as a QNamepublic final int hashCode()
Object.hashCode
method.Copyright © 2005–2013 Apache Software Foundation. All rights reserved.