java.lang.Object
org.eximeebpms.bpm.model.xml.impl.util.DomUtil

public final class DomUtil extends 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 Details

    • DomUtil

      public DomUtil()
  • Method Details

    • filterNodeList

      public static List<DomElement> filterNodeList(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 List<DomElement> filterNodeListForElements(NodeList nodeList)
      Filters a NodeList retaining all elements
      Parameters:
      nodeList - the the NodeList to filter
      Returns:
      the list of all elements
    • filterNodeListByName

      public static List<DomElement> filterNodeListByName(NodeList nodeList, String namespaceUri, 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 List<DomElement> filterNodeListByType(NodeList nodeList, ModelInstanceImpl modelInstance, 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(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(DocumentBuilderFactory documentBuilderFactory, 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