APIdia Launch Partner
Top Description Fields Constructors Methods
javax.xml.namespace

public Class QName

extends Object
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Imports
java.io.Serializable, javax.xml.XMLConstants, jdk.xml.internal.SecuritySupport

QName represents a qualified name as defined in the XML specifications: XML Schema Part2: Datatypes specification, Namespaces in XML.

The value of a QName contains a Namespace URI, local part and prefix.

The prefix is included in QName to retain lexical information when present in an XML input source. The prefix is NOT used in QName.equals(Object) or to compute the QName.hashCode(). Equality and the hash code are defined using only the Namespace URI and local part.

If not specified, the Namespace URI is set to XMLConstants.NULL_NS_URI. If not specified, the prefix is set to XMLConstants.DEFAULT_NS_PREFIX.

QName is immutable.

Author
Jeff Suttor
Since
1.5
See Also
XML Schema Part2: Datatypes specification, Namespaces in XML

Field Summary

Modifier and TypeField and Description
private final String
private final String
private final String
private static final long

Constructor Summary

AccessConstructor and Description
public
QName(final String
Namespace URI of the QName
namespaceURI
,
final String
local part of the QName
localPart
)

QName constructor specifying the Namespace URI and local part.

public
QName(String
Namespace URI of the QName
namespaceURI
,
String
local part of the QName
localPart
,
String
prefix of the QName
prefix
)

QName constructor specifying the Namespace URI, local part and prefix.

public
QName(String
local part of the QName
localPart
)

QName constructor specifying the local part.

Method Summary

Modifier and TypeMethod and Description
public final boolean

Returns:

true if the given Object is equal to this QName else false
equals
(Object
the Object to test for equality with this QName
objectToTest
)

Overrides java.lang.Object.equals.

Test this QName for equality with another Object.

public String

Returns:

local part of this QName
getLocalPart
()

Get the local part of this QName.

public String

Returns:

Namespace URI of this QName
getNamespaceURI
()

Get the Namespace URI of this QName.

public String

Returns:

prefix of this QName
getPrefix
()

Get the prefix of this QName.

public final int

Returns:

hash code for this QName Object
hashCode
()

Overrides java.lang.Object.hashCode.

Generate the hash code for this QName.

public String

Returns:

the string representation of this QName
toString
()

Overrides java.lang.Object.toString.

Returns the string representation of this QName.

public static QName

Returns:

a QName from its string representation
valueOf
(String
the string representation of the QName
qNameAsString
)

Returns a QName from its string representation.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

localPartback to summary
private final String localPart
namespaceURIback to summary
private final String namespaceURI
prefixback to summary
private final String prefix
serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

QNameback to summary
public QName(final String namespaceURI, final String localPart)

QName constructor specifying the Namespace URI and local part.

If the Namespace URI is null, it is set to XMLConstants.NULL_NS_URI. This value represents no explicitly defined Namespace as defined by the Namespaces in XML specification. This action preserves compatible behavior with QName 1.0. Explicitly providing the XMLConstants.NULL_NS_URI value is the preferred coding style.

If the local part is null an IllegalArgumentException is thrown. A local part of "" is allowed to preserve compatible behavior with QName 1.0.

When using this constructor, the prefix is set to XMLConstants.DEFAULT_NS_PREFIX.

The Namespace URI is not validated as a URI reference. The local part is not validated as a NCName as specified in Namespaces in XML.

Parameters
namespaceURI:String

Namespace URI of the QName

localPart:String

local part of the QName

Exceptions
IllegalArgumentException:
When localPart is null
See Also
QName(String namespaceURI, String localPart, String prefix)
QNameback to summary
public QName(String namespaceURI, String localPart, String prefix)

QName constructor specifying the Namespace URI, local part and prefix.

If the Namespace URI is null, it is set to XMLConstants.NULL_NS_URI. This value represents no explicitly defined Namespace as defined by the Namespaces in XML specification. This action preserves compatible behavior with QName 1.0. Explicitly providing the XMLConstants.NULL_NS_URI value is the preferred coding style.

If the local part is null an IllegalArgumentException is thrown. A local part of "" is allowed to preserve compatible behavior with QName 1.0.

If the prefix is null, an IllegalArgumentException is thrown. Use XMLConstants.DEFAULT_NS_PREFIX to explicitly indicate that no prefix is present or the prefix is not relevant.

The Namespace URI is not validated as a URI reference. The local part and prefix are not validated as a NCName as specified in Namespaces in XML.

Parameters
namespaceURI:String

Namespace URI of the QName

localPart:String

local part of the QName

prefix:String

prefix of the QName

Exceptions
IllegalArgumentException:
When localPart or prefix is null
QNameback to summary
public QName(String localPart)

QName constructor specifying the local part.

If the local part is null an IllegalArgumentException is thrown. A local part of "" is allowed to preserve compatible behavior with QName 1.0.

When using this constructor, the Namespace URI is set to XMLConstants.NULL_NS_URI and the prefix is set to XMLConstants.DEFAULT_NS_PREFIX.

In an XML context, all Element and Attribute names exist in the context of a Namespace. Making this explicit during the construction of a QName helps prevent hard to diagnosis XML validity errors. The constructors QName(String namespaceURI, String localPart) and QName(String namespaceURI, String localPart, String prefix) are preferred.

The local part is not validated as a NCName as specified in Namespaces in XML.

Parameters
localPart:String

local part of the QName

Exceptions
IllegalArgumentException:
When localPart is null
See Also
QName(String namespaceURI, String localPart), QName(String namespaceURI, String localPart, String prefix)

Method Detail

equalsback to summary
public final boolean equals(Object objectToTest)

Overrides java.lang.Object.equals.

Test this QName for equality with another Object.

If the Object to be tested is not a QName or is null, then this method returns false.

Two QNames are considered equal if and only if both the Namespace URI and local part are equal. This method uses String.equals() to check equality of the Namespace URI and local part. The prefix is NOT used to determine equality.

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

Parameters
objectToTest:Object

the Object to test for equality with this QName

Returns:boolean

true if the given Object is equal to this QName else false

getLocalPartback to summary
public String getLocalPart()

Get the local part of this QName.

Returns:String

local part of this QName

getNamespaceURIback to summary
public String getNamespaceURI()

Get the Namespace URI of this QName.

Returns:String

Namespace URI of this QName

getPrefixback to summary
public String getPrefix()

Get the prefix of this QName.

The prefix assigned to a QName might 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:String

prefix of this QName

hashCodeback to summary
public final int hashCode()

Overrides java.lang.Object.hashCode.

Generate the hash code for this QName.

The hash code is calculated using both the Namespace URI and the local part of the QName. The prefix is NOT used to calculate the hash code.

This method satisfies the general contract of Object.hashCode().

Returns:int

hash code for this QName Object

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Returns the string representation of this QName. The format is:

 {NamespaceURI}LocalPart
If NamespaceURI is null, only LocalPart is returned.

API Note

The Prefix is not returned in the string representation.

Returns:String

the string representation of this QName

valueOfback to summary
public static QName valueOf(String qNameAsString)

Returns a QName from its string representation. The string representation must be in the format returned by toString():

 {NamespaceURI}LocalPart
Since the Prefix is not represented in the string form, it will be set to XMLConstants.DEFAULT_NS_PREFIX.

API Note

This method does not perform full validation of the resulting QName. The NamespaceURI is not validated as a URI reference. The LocalPart is not validated as a NCName as specified in Namespaces in XML.

Parameters
qNameAsString:String

the string representation of the QName

Returns:QName

a QName from its string representation

Exceptions
IllegalArgumentException:
if qNameAsString is null or malformed
See Also
QName.toString()