Class NamespaceStack

java.lang.Object
org.dom4j.tree.NamespaceStack

public class NamespaceStack extends Object
NamespaceStack implements a stack of namespaces and optionally maintains a cache of all the fully qualified names (QName) which are in scope. This is useful when building or navigating a dom4j document.
Version:
$Revision: 1.13 $
Author:
James Strachan
  • Constructor Details

    • NamespaceStack

      public NamespaceStack()
    • NamespaceStack

      public NamespaceStack(DocumentFactory documentFactory)
  • Method Details

    • push

      public void push(Namespace namespace)
      Pushes the given namespace onto the stack so that its prefix becomes available.
      Parameters:
      namespace - is the Namespace to add to the stack.
    • pop

      public Namespace pop()
      Pops the most recently used Namespace from the stack
      Returns:
      Namespace popped from the stack
    • size

      public int size()
      DOCUMENT ME!
      Returns:
      the number of namespaces on the stackce stack.
    • clear

      public void clear()
      Clears the stack
    • getNamespace

      public Namespace getNamespace(int index)
      DOCUMENT ME!
      Parameters:
      index - DOCUMENT ME!
      Returns:
      the namespace at the specified index on the stack
    • getNamespaceForPrefix

      public Namespace getNamespaceForPrefix(String prefix)
      DOCUMENT ME!
      Parameters:
      prefix - DOCUMENT ME!
      Returns:
      the namespace for the given prefix or null if it could not be found.
    • getURI

      public String getURI(String prefix)
      DOCUMENT ME!
      Parameters:
      prefix - DOCUMENT ME!
      Returns:
      the URI for the given prefix or null if it could not be found.
    • contains

      public boolean contains(Namespace namespace)
      DOCUMENT ME!
      Parameters:
      namespace - DOCUMENT ME!
      Returns:
      true if the given prefix is in the stack.
    • getQName

      public QName getQName(String namespaceURI, String localName, String qualifiedName)
    • getAttributeQName

      public QName getAttributeQName(String namespaceURI, String localName, String qualifiedName)
    • push

      public void push(String prefix, String uri)
      Adds a namepace to the stack with the given prefix and URI
      Parameters:
      prefix - DOCUMENT ME!
      uri - DOCUMENT ME!
    • addNamespace

      public Namespace addNamespace(String prefix, String uri)
      Adds a new namespace to the stack
      Parameters:
      prefix - DOCUMENT ME!
      uri - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • pop

      public Namespace pop(String prefix)
      Pops a namepace from the stack with the given prefix and URI
      Parameters:
      prefix - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getDocumentFactory

      public DocumentFactory getDocumentFactory()
    • setDocumentFactory

      public void setDocumentFactory(DocumentFactory documentFactory)
    • getDefaultNamespace

      public Namespace getDefaultNamespace()
    • pushQName

      protected QName pushQName(String localName, String qualifiedName, Namespace namespace, String prefix)
      Adds the QName to the stack of available QNames
      Parameters:
      localName - DOCUMENT ME!
      qualifiedName - DOCUMENT ME!
      namespace - DOCUMENT ME!
      prefix - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • createQName

      protected QName createQName(String localName, String qualifiedName, Namespace namespace)
      Factory method to creeate new QName instances. By default this method interns the QName
      Parameters:
      localName - DOCUMENT ME!
      qualifiedName - DOCUMENT ME!
      namespace - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • createNamespace

      protected Namespace createNamespace(String prefix, String namespaceURI)
      Factory method to creeate new Namespace instances. By default this method interns the Namespace
      Parameters:
      prefix - DOCUMENT ME!
      namespaceURI - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • findDefaultNamespace

      protected Namespace findDefaultNamespace()
      Attempts to find the current default namespace on the stack right now or returns null if one could not be found
      Returns:
      DOCUMENT ME!
    • remove

      protected Namespace remove(int index)
      Removes the namespace at the given index of the stack
      Parameters:
      index - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • getNamespaceCache

      protected Map getNamespaceCache()