Class DomUtil


  • public final class DomUtil
    extends java.lang.Object
    Helper methods which abstract some gruesome DOM specifics. It does not provide synchronization when invoked in parallel with the same objects.
    Author:
    Daniel Meyer, Sebastian Menski
    • Constructor Detail

      • DomUtil

        public DomUtil()
    • Method Detail

      • filterNodeList

        public static java.util.List<DomElement> filterNodeList​(org.w3c.dom.NodeList nodeList,
                                                                DomUtil.NodeListFilter filter)
        Allows to apply a DomUtil.NodeListFilter to a NodeList. This allows to remove all elements from a node list which do not match the Filter.
        Parameters:
        nodeList - the NodeList to filter
        filter - the DomUtil.NodeListFilter to apply to the NodeList
        Returns:
        the List of all Nodes which match the filter
      • filterNodeListForElements

        public static java.util.List<DomElement> filterNodeListForElements​(org.w3c.dom.NodeList nodeList)
        Filters a NodeList retaining all elements
        Parameters:
        nodeList - the the NodeList to filter
        Returns:
        the list of all elements
      • filterNodeListByName

        public static java.util.List<DomElement> filterNodeListByName​(org.w3c.dom.NodeList nodeList,
                                                                      java.lang.String namespaceUri,
                                                                      java.lang.String localName)
        Filter a NodeList retaining all elements with a specific name
        Parameters:
        nodeList - the NodeList to filter
        namespaceUri - the namespace for the elements
        localName - the local element name to filter for
        Returns:
        the List of all Elements which match the filter
      • filterNodeListByType

        public static java.util.List<DomElement> filterNodeListByType​(org.w3c.dom.NodeList nodeList,
                                                                      ModelInstanceImpl modelInstance,
                                                                      java.lang.Class<?> type)
        Filter a NodeList retaining all elements with a specific type
        Parameters:
        nodeList - the NodeList to filter
        modelInstance - the model instance
        type - the type class to filter for
        Returns:
        the list of all Elements which match the filter
      • getEmptyDocument

        public static DomDocument getEmptyDocument​(javax.xml.parsers.DocumentBuilderFactory documentBuilderFactory)
        Get an empty DOM document
        Parameters:
        documentBuilderFactory - the factory to build to DOM document
        Returns:
        the new empty document
        Throws:
        ModelParseException - if unable to create a new document
      • parseInputStream

        public static DomDocument parseInputStream​(javax.xml.parsers.DocumentBuilderFactory documentBuilderFactory,
                                                   java.io.InputStream inputStream)
        Create a new DOM document from the input stream
        Parameters:
        documentBuilderFactory - the factory to build to DOM document
        inputStream - the input stream to parse
        Returns:
        the new DOM document
        Throws:
        ModelParseException - if a parsing or IO error is triggered