Class XMLOutputter.NamespaceStack

  • Enclosing class:
    XMLOutputter

    protected class XMLOutputter.NamespaceStack
    extends Object
    Our own null subclass of NamespaceStack. This plays a little trick with Java access protection. We want subclasses of XMLOutputter to be able to override protected methods that declare a NamespaceStack parameter, but we don't want to declare the parent NamespaceStack class as public.
    • Constructor Detail

      • NamespaceStack

        protected NamespaceStack()
    • Method Detail

      • push

        public void push​(Namespace ns)
        This will add a new Namespace to those currently available.
        Parameters:
        ns - Namespace to add.
      • pop

        public String pop()
        This will remove the topmost (most recently added) Namespace, and return its prefix.
        Returns:
        String - the popped namespace prefix.
      • size

        public int size()
        This returns the number of available namespaces.
        Returns:
        int - size of the namespace stack.
      • getURI

        public String getURI​(String prefix)
        Given a prefix, this will return the namespace URI most rencently (topmost) associated with that prefix.
        Parameters:
        prefix - String namespace prefix.
        Returns:
        String - the namespace URI for that prefix.
      • toString

        public String toString()
        This will print out the size and current stack, from the most recently added Namespace to the "oldest," all to System.out.
        Overrides:
        toString in class Object