Class NamespaceStack


  • public class NamespaceStack
    extends java.lang.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.
    • Constructor Detail

      • NamespaceStack

        public NamespaceStack()
      • NamespaceStack

        public NamespaceStack​(DocumentFactory documentFactory)
    • Method Detail

      • 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​(java.lang.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 java.lang.String getURI​(java.lang.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​(java.lang.String namespaceURI,
                              java.lang.String localName,
                              java.lang.String qualifiedName)
      • getAttributeQName

        public QName getAttributeQName​(java.lang.String namespaceURI,
                                       java.lang.String localName,
                                       java.lang.String qualifiedName)
      • push

        public void push​(java.lang.String prefix,
                         java.lang.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​(java.lang.String prefix,
                                      java.lang.String uri)
        Adds a new namespace to the stack
        Parameters:
        prefix - DOCUMENT ME!
        uri - DOCUMENT ME!
        Returns:
        DOCUMENT ME!
      • pop

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • setDocumentFactory

        public void setDocumentFactory​(DocumentFactory documentFactory)
      • getDefaultNamespace

        public Namespace getDefaultNamespace()
      • pushQName

        protected QName pushQName​(java.lang.String localName,
                                  java.lang.String qualifiedName,
                                  Namespace namespace,
                                  java.lang.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​(java.lang.String localName,
                                    java.lang.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​(java.lang.String prefix,
                                            java.lang.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 java.util.Map<java.lang.String,​QName> getNamespaceCache()