javax.xml.namespace
Class QName

java.lang.Object
  |
  +--javax.xml.namespace.QName
All Implemented Interfaces:
java.io.Serializable

public class QName
extends java.lang.Object
implements java.io.Serializable

QName class represents a combined definition of a qualified name as defined in the following two specifications:

The value of a QName contains a namespaceURI and a localPart. The localPart provides the local part of the qualified name. The namespaceURI is a URI reference identifying the namespace.

The prefix is included in the QName class to retain lexical information where present in an XML input source. The prefix is NOT used to compute the hash code or in the equals operation. In other words, equality is defined only using the namespaceURI and the localPart.

Version:
1.1
See Also:
Serialized Form

Constructor Summary
QName(java.lang.String localPart)
          Constructor for the QName with just a local part.
QName(java.lang.String namespaceURI, java.lang.String localPart)
          Constructor for the QName with a namespace URI and a local part.
QName(java.lang.String namespaceURI, java.lang.String localPart, java.lang.String prefix)
          Constructor for the QName.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Tests this QName for equality with another object.
 java.lang.String getLocalPart()
          Gets the Local part for this QName.
 java.lang.String getNamespaceURI()
          Gets the Namespace URI for this QName.
 java.lang.String getPrefix()
          Gets the prefix for this QName.
 int hashCode()
          Returns a hash code value for this QName object.
 java.lang.String toString()
          Returns a string representation of this QName.
static QName valueOf(java.lang.String s)
          Returns a QName holding the value of the specified String.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

QName

public QName(java.lang.String localPart)
Constructor for the QName with just a local part. This assigns an empty string as the default values for namespaceURI, prefix and localPart.

Parameters:
localPart - Local part of the QName
Throws:
java.lang.IllegalArgumentException - If null local part is specified

QName

public QName(java.lang.String namespaceURI,
             java.lang.String localPart)
Constructor for the QName with a namespace URI and a local part. This method assigns an empty string as the default value for prefix.

Parameters:
namespaceURI - Namespace URI for the QName
localPart - Local part of the QName
Throws:
java.lang.IllegalArgumentException - If null local part or namespaceURI is specified

QName

public QName(java.lang.String namespaceURI,
             java.lang.String localPart,
             java.lang.String prefix)
Constructor for the QName.

Parameters:
namespaceURI - Namespace URI for the QName
localPart - Local part of the QName
prefix - The prefix of the QName
Throws:
java.lang.IllegalArgumentException - If null local part or prefix is specified
Method Detail

getNamespaceURI

public java.lang.String getNamespaceURI()
Gets the Namespace URI for this QName.

Returns:
Namespace URI

getLocalPart

public java.lang.String getLocalPart()
Gets the Local part for this QName.

Returns:
Local part

getPrefix

public java.lang.String getPrefix()
Gets the prefix for this QName. Note that the prefix assigned to a QName may not be valid in a different context. For example, a QName may be assigned a prefix in the context of parsing a document but that prefix may be invalid in the context of a different document.

Returns:
a String value of the prefix.

toString

public java.lang.String toString()
Returns a string representation of this QName.

Overrides:
toString in class java.lang.Object
Returns:
a string representation of the QName

valueOf

public static QName valueOf(java.lang.String s)
Returns a QName holding the value of the specified String. 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.

Parameters:
s - the string to be parsed
Returns:
QName corresponding to the given String
Throws:
java.lang.IllegalArgumentException - If the specified String cannot be parsed as a QName

hashCode

public final int hashCode()
Returns a hash code value for this QName object. The hash code is based on both the localPart and namespaceURI parts of the QName. This method satisfies the general contract of the Object.hashCode method.

Overrides:
hashCode in class java.lang.Object
Returns:
A hash code value for this Qname object

equals

public final boolean equals(java.lang.Object obj)
Tests this QName for equality with another object.

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.

This method satisfies the general contract of the Object.equals method.

Overrides:
equals in class java.lang.Object
Parameters:
obj - the reference object with which to compare.
Returns:
true if the given object is identical to this QName: false otherwise.