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 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.
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 o)
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
|
String |
getQualifiedName()
Returns the fully qualified name of this QName
|
int |
hashCode()
Returns a hash code value for this QName object.
|
boolean |
matches(Object o)
Tests if this QName matches another 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 QNamepublic QName(String namespaceURI, String localPart)
namespaceURI
- Namespace URI for the QNamelocalPart
- Local part of the QName.public String getNamespaceURI()
public String getLocalPart()
public String getPrefix()
public String getQualifiedName()
public String toString()
public boolean equals(Object o)
If the given object is not a QName or String equivalent 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. Any class that extends QName is required
to satisfy this equality contract.
If the supplied object is a String, then it is split in two on the last colon
and the first half is compared against the prefix || namespaceURI
and the second half is compared against the localPart
i.e. assert new QName("namespace","localPart").equals("namespace:localPart")
Intended Usage: for gpath accessors, e.g. root.'urn:mynamespace:node'
Warning: this equivalence is not commutative,
i.e. qname.equals(string) may be true/false but string.equals(qname) is always false
This method satisfies the general contract of the Object.equals
method.
public boolean matches(Object o)
If the given object is not a QName or String equivalent or is null then this method returns false.
For two QNames to be considered matching requires that both localPart and namespaceURI must be equal or one of them is a wildcard. If the supplied object is a String, then it is split in two on the last colon and the first half is matched against the prefix || namespaceURI and the second half is matched against the localPart
o
- the reference object with which to comparetrue
if the given object matches
this QName: false
otherwise.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.
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 int hashCode()
Object.hashCode
method.