## org.jdom
Class Namespace

    java.lang.Object
      |
      +--org.jdom.Namespace

public final class Namespace
extends java.lang.Object

`Namespace` defines both a factory for creating XML namespaces, and a namespace itself. This class represents an XML namespace in Java.

Elements and Attributes containing Namespaces can be serialized; however the Namespace class itself does not implement `java.io.Serializable`. This works because the Element and Attribute classes handle serialization of their Namespaces manually. The classes use the getNamespace() method on deserialization to ensure there may be only one unique Namespace object for any unique prefix/uri pair, something needed for efficiency reasons.

Version:
  $Revision: 1.32 $, $Date: 2002/03/12 07:57:06 $
Author:
  Brett McLaughlin, Elliotte Rusty Harold, Wesley Biggs

Field Summary
`static Namespace` `NO_NAMESPACE` Define a `Namespace` for when not in a namespace
`static Namespace` `XML_NAMESPACE`

Method Summary
`boolean` `equals(java.lang.Object ob)` This tests for equality - Two `Namespaces` are equal if and only if their URIs are byte-for-byte equals.
`static Namespace` `getNamespace(java.lang.String uri)` This will retrieve (if in existence) or create (if not) a `Namespace` for the supplied URI, and make it usable as a default namespace, as no prefix is supplied.
`static Namespace` `getNamespace(java.lang.String prefix, java.lang.String uri)` This will retrieve (if in existence) or create (if not) a `Namespace` for the supplied prefix and URI.
`java.lang.String` `getPrefix()` This returns the prefix mapped to this `Namespace`.
`java.lang.String` `getURI()` This returns the namespace URI for this `Namespace`.
`int` `hashCode()` This returns a probably unique hash code for the `Namespace`.
`java.lang.String` `toString()` This returns a `String` representation of this `Namespace`, suitable for use in debugging.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### NO_NAMESPACE

    public static final Namespace NO_NAMESPACE

  Define a `Namespace` for when not in a namespace

### XML_NAMESPACE

    public static final Namespace XML_NAMESPACE

Method Detail

### getNamespace

    public static Namespace getNamespace(java.lang.String prefix,
                                         java.lang.String uri)

  This will retrieve (if in existence) or create (if not) a `Namespace` for the supplied prefix and URI.

  Parameters:
    `prefix` - `String` prefix to map to `Namespace`.
    `uri` - `String` URI of new `Namespace`.
  Returns:
    `Namespace` - ready to use namespace.
  Throws:
    IllegalNameException - if the given prefix and uri make up an illegal namespace name.

### getNamespace

    public static Namespace getNamespace(java.lang.String uri)

  This will retrieve (if in existence) or create (if not) a `Namespace` for the supplied URI, and make it usable as a default namespace, as no prefix is supplied.

  Parameters:
    `uri` - `String` URI of new `Namespace`.
  Returns:
    `Namespace` - ready to use namespace.

### getPrefix

    public java.lang.String getPrefix()

  This returns the prefix mapped to this `Namespace`.

  Returns:
    `String` - prefix for this `Namespace`.

### getURI

    public java.lang.String getURI()

  This returns the namespace URI for this `Namespace`.

  Returns:
    `String` - URI for this `Namespace`.

### equals

    public boolean equals(java.lang.Object ob)

  This tests for equality - Two `Namespaces` are equal if and only if their URIs are byte-for-byte equals.

  Overrides:
    equals in class java.lang.Object
  Parameters:
    `ob` - `Object` to compare to this `Namespace`.
  Returns:
    `boolean` - whether the supplied object is equal to this `Namespace`.

### toString

    public java.lang.String toString()

  This returns a `String` representation of this `Namespace`, suitable for use in debugging.

  Overrides:
    toString in class java.lang.Object
  Returns:
    `String` - information about this instance.

### hashCode

    public int hashCode()

  This returns a probably unique hash code for the `Namespace`. If two namespaces have the same URI, they are equal and have the same hash code, even if they have different prefixes.

  Overrides:
    hashCode in class java.lang.Object
  Returns:
    `int` - hash code for this `Namespace`.

Copyright © 2002 Jason Hunter, Brett McLaughlin. All Rights Reserved.