org.camunda.bpm.model.xml.impl.util
Class DomUtil

java.lang.Object
  extended by org.camunda.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

Nested Class Summary
static class DomUtil.DomErrorHandler
           
static class DomUtil.ElementByNameListFilter
          Filters Elements by their nodeName + namespaceUri
static class DomUtil.ElementByTypeListFilter
           
static class DomUtil.ElementNodeListFilter
          Filter retaining only Nodes of type Node.ELEMENT_NODE
static interface DomUtil.NodeListFilter
          A DomUtil.NodeListFilter allows to filter a NodeList, retaining only elements in the list which match the filter.
 
Constructor Summary
DomUtil()
           
 
Method Summary
static List<DomElement> filterNodeList(NodeList nodeList, DomUtil.NodeListFilter filter)
          Allows to apply a DomUtil.NodeListFilter to a NodeList.
static List<DomElement> filterNodeListByName(NodeList nodeList, String namespaceUri, String localName)
          Filter a NodeList retaining all elements with a specific name
static List<DomElement> filterNodeListByType(NodeList nodeList, ModelInstanceImpl modelInstance, Class<?> type)
          Filter a NodeList retaining all elements with a specific type
static List<DomElement> filterNodeListForElements(NodeList nodeList)
          Filters a NodeList retaining all elements
static DomDocument getEmptyDocument(DocumentBuilderFactory documentBuilderFactory)
          Get an empty DOM document
static DomDocument parseInputStream(DocumentBuilderFactory documentBuilderFactory, InputStream inputStream)
          Create a new DOM document from the input stream
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DomUtil

public DomUtil()
Method Detail

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


Copyright © 2015 camunda services GmbH. All rights reserved.