org.apache.commons.jxpath.ri
Class NamespaceResolver

java.lang.Object
  extended by org.apache.commons.jxpath.ri.NamespaceResolver
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class NamespaceResolver
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

Namespace resolver for JXPathContextReferenceImpl.

Version:
$Revision: 668329 $ $Date: 2008-06-16 16:59:48 -0500 (Mon, 16 Jun 2008) $
Author:
Dmitri Plotnikov
See Also:
Serialized Form

Field Summary
protected  java.util.HashMap namespaceMap
          namespace map
protected  NamespaceResolver parent
          Parent NamespaceResolver
protected  NodePointer pointer
          pointer
protected  java.util.HashMap reverseMap
          reverse lookup map
 
Constructor Summary
NamespaceResolver()
          Create a new NamespaceResolver.
NamespaceResolver(NamespaceResolver parent)
          Create a new NamespaceResolver.
 
Method Summary
 java.lang.Object clone()
           
protected  java.lang.String getExternallyRegisteredNamespaceURI(java.lang.String prefix)
          Given a prefix, returns an externally registered namespace URI.
protected  java.lang.String getExternallyRegisteredPrefix(java.lang.String namespaceURI)
          Get the nearest prefix found that matches an externally-registered namespace.
 Pointer getNamespaceContextPointer()
          Get the namespace context pointer.
 java.lang.String getNamespaceURI(java.lang.String prefix)
          Given a prefix, returns a registered namespace URI.
protected static java.lang.String getPrefix(NodePointer pointer, java.lang.String namespaceURI)
          Find the namespace prefix for the specified namespace URI and NodePointer.
 java.lang.String getPrefix(java.lang.String namespaceURI)
          Get the prefix associated with the specifed namespace URI.
 boolean isSealed()
          Learn whether this NamespaceResolver has been sealed.
 void registerNamespace(java.lang.String prefix, java.lang.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 Detail

parent

protected final NamespaceResolver parent
Parent NamespaceResolver


namespaceMap

protected java.util.HashMap namespaceMap
namespace map


reverseMap

protected java.util.HashMap reverseMap
reverse lookup map


pointer

protected NodePointer pointer
pointer

Constructor Detail

NamespaceResolver

public NamespaceResolver()
Create a new NamespaceResolver.


NamespaceResolver

public NamespaceResolver(NamespaceResolver parent)
Create a new NamespaceResolver.

Parameters:
parent - NamespaceResolver
Method Detail

getPrefix

protected static java.lang.String getPrefix(NodePointer pointer,
                                            java.lang.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

registerNamespace

public void registerNamespace(java.lang.String prefix,
                              java.lang.String namespaceURI)
Registers a namespace prefix.

Parameters:
prefix - A namespace prefix
namespaceURI - A URI for that prefix

setNamespaceContextPointer

public void setNamespaceContextPointer(NodePointer pointer)
Register a namespace for the expression context.

Parameters:
pointer - the Pointer to set.

getNamespaceContextPointer

public Pointer getNamespaceContextPointer()
Get the namespace context pointer.

Returns:
Pointer

getNamespaceURI

public java.lang.String getNamespaceURI(java.lang.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.

getExternallyRegisteredNamespaceURI

protected java.lang.String getExternallyRegisteredNamespaceURI(java.lang.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

getPrefix

public java.lang.String getPrefix(java.lang.String namespaceURI)
Get the prefix associated with the specifed namespace URI.

Parameters:
namespaceURI - the ns URI to check.
Returns:
String prefix

getExternallyRegisteredPrefix

protected java.lang.String getExternallyRegisteredPrefix(java.lang.String namespaceURI)
Get 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

isSealed

public boolean isSealed()
Learn whether this NamespaceResolver has been sealed.

Returns:
boolean

seal

public void seal()
Seal this NamespaceResolver.


clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object


Copyright © 2001-2011 Apache Software Foundation. All Rights Reserved.