Package org.apache.commons.jxpath.ri

# Class NamespaceResolver

java.lang.Object
org.apache.commons.jxpath.ri.NamespaceResolver

All Implemented Interfaces:
  `Serializable`, `Cloneable`

public class NamespaceResolver extends Object implements Cloneable, Serializable
Namespace resolver for `JXPathContextReferenceImpl`.

See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected HashMap<String,String>`
  `namespaceMap`
  Namespace map.
  `protected final NamespaceResolver`
  `parent`
  Parent NamespaceResolver.
  `protected NodePointer`
  `pointer`
  Node pointer.
  `protected HashMap<String,String>`
  `reverseMap`
  Reverse lookup map

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `NamespaceResolver()`
  Constructs a new NamespaceResolver.
  `NamespaceResolver(NamespaceResolver parent)`
  Constructs a new NamespaceResolver.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  `protected String`
  `getExternallyRegisteredNamespaceURI(String prefix)`
  Given a prefix, returns an externally registered namespace URI.
  `protected String`
  `getExternallyRegisteredPrefix(String namespaceURI)`
  Gets the nearest prefix found that matches an externally-registered namespace.
  `Pointer`
  `getNamespaceContextPointer()`
  Gets the namespace context pointer.
  `String`
  `getNamespaceURI(String prefix)`
  Given a prefix, returns a registered namespace URI.
  `String`
  `getPrefix(String namespaceURI)`
  Gets the prefix associated with the specifed namespace URI.
  `protected static String`
  `getPrefix(NodePointer pointer, String namespaceURI)`
  Find the namespace prefix for the specified namespace URI and NodePointer.
  `boolean`
  `isSealed()`
  Tests whether this NamespaceResolver has been sealed.
  `void`
  `registerNamespace(String prefix, String namespaceURI)`
  Registers a namespace prefix.
  `void`
  `seal()`
  Seal this `NamespaceResolver`.
  `void`
  `setNamespaceContextPointer(NodePointer pointer)`
  Register a namespace for the expression context.

  ### Methods inherited from class java.lang.Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### parent

    protected final NamespaceResolver parent
    Parent NamespaceResolver.

  - ### namespaceMap

    protected HashMap<String,String> namespaceMap
    Namespace map.

  - ### reverseMap

    protected HashMap<String,String> reverseMap
    Reverse lookup map

  - ### pointer

    protected NodePointer pointer
    Node pointer.

- ## Constructor Details

  - ### NamespaceResolver

    public NamespaceResolver()
    Constructs a new NamespaceResolver.

  - ### NamespaceResolver

    public NamespaceResolver(NamespaceResolver parent)
    Constructs a new NamespaceResolver.
    Parameters:
      `parent` - NamespaceResolver

- ## Method Details

  - ### getPrefix

    protected static String getPrefix(NodePointer pointer, String namespaceURI)
    Find the namespace prefix for the specified namespace URI and NodePointer.
    Parameters:
      `pointer` - location
      `namespaceURI` - to check
    Returns:
      prefix if found
    Since:
      JXPath 1.3

  - ### clone

    public Object clone()
    Overrides:
      `clone` in class `Object`

  - ### getExternallyRegisteredNamespaceURI

    protected String getExternallyRegisteredNamespaceURI(String prefix)
    Given a prefix, returns an externally registered namespace URI.
    Parameters:
      `prefix` - The namespace prefix to look up
    Returns:
      namespace URI or null if the prefix is undefined.
    Since:
      JXPath 1.3

  - ### getExternallyRegisteredPrefix

    protected String getExternallyRegisteredPrefix(String namespaceURI)
    Gets the nearest prefix found that matches an externally-registered namespace.
    Parameters:
      `namespaceURI` - the ns URI to check.
    Returns:
      String prefix if found.
    Since:
      JXPath 1.3

  - ### getNamespaceContextPointer

    public Pointer getNamespaceContextPointer()
    Gets the namespace context pointer.
    Returns:
      Pointer

  - ### getNamespaceURI

    public String getNamespaceURI(String prefix)
    Given a prefix, returns a registered namespace URI. If the requested prefix was not defined explicitly using the registerNamespace method, JXPathContext will then check the context node to see if the prefix is defined there. See `setNamespaceContextPointer`.
    Parameters:
      `prefix` - The namespace prefix to look up
    Returns:
      namespace URI or null if the prefix is undefined.

  - ### getPrefix

    public String getPrefix(String namespaceURI)
    Gets the prefix associated with the specifed namespace URI.
    Parameters:
      `namespaceURI` - the ns URI to check.
    Returns:
      String prefix

  - ### isSealed

    public boolean isSealed()
    Tests whether this NamespaceResolver has been sealed.
    Returns:
      boolean

  - ### registerNamespace

    public void registerNamespace(String prefix, String namespaceURI)
    Registers a namespace prefix.
    Parameters:
      `prefix` - A namespace prefix
      `namespaceURI` - A URI for that prefix

  - ### seal

    public void seal()
    Seal this `NamespaceResolver`.

  - ### setNamespaceContextPointer

    public void setNamespaceContextPointer(NodePointer pointer)
    Register a namespace for the expression context.
    Parameters:
      `pointer` - the Pointer to set.