Class ConfigParser


  • public class ConfigParser
    extends Object
    Parses configuration files, builds Inhabitants, and add them to Habitat.

    This class also maintains the model of various elements in the configuration file.

    This class can be sub-classed to create a ConfigParser with a custom non-standard behavior.

    Author:
    Kohsuke Kawaguchi
    • Field Detail

      • habitat

        protected final org.glassfish.hk2.api.ServiceLocator habitat
        This is where we put parsed inhabitants into.
    • Constructor Detail

      • ConfigParser

        public ConfigParser​(org.glassfish.hk2.api.ServiceLocator habitat)
    • Method Detail

      • logUnrecognisedElements

        public void logUnrecognisedElements​(boolean logUnrecognisedElements)
      • loggingUnrecognisedElements

        public boolean loggingUnrecognisedElements()
      • parse

        public DomDocument parse​(URL source)
        Parses the given source as a config file, and adds resulting Doms into Habitat as Inhabitants.
      • handleElement

        protected Dom handleElement​(XMLStreamReader in,
                                    DomDocument document,
                                    Dom parent)
                             throws XMLStreamException
        Parses a whole XML tree and builds a Dom tree.

        This is the entry point for the root element of a configuration tree.

        Parameters:
        in - pre-condition: 'in' is at the start element. post-condition: 'in' is at the end element.
        document - The document that we are building right now. Newly created Dom will belong to this document.
        parent - The parent element
        Returns:
        Null if the XML element didn't yield anything (which can happen if the element is skipped.) Otherwise fully parsed valid Dom object.
        Throws:
        XMLStreamException
      • handleElement

        protected Dom handleElement​(XMLStreamReader in,
                                    DomDocument document,
                                    Dom parent,
                                    ConfigModel model)
                             throws XMLStreamException
        Parses a whole XML tree and builds a Dom tree, by using the given model for the top-level element.

        This is the entry point for recursively parsing inside a configuration tree. Since not every element is global, you don't always want to infer the model just from the element name (as is the case with handleElement(XMLStreamReader, DomDocument, Dom).

        Parameters:
        in - pre-condition: 'in' is at the start element. post-condition: 'in' is at the end element.
        document - The document that we are building right now. Newly created Dom will belong to this document.
        parent - The parent element
        Returns:
        Null if the XML element didn't yield anything (which can happen if the element is skipped.) Otherwise fully parsed valid Dom object.
        Throws:
        XMLStreamException