org.mobicents.protocols.xml.patch.dom
Class DOMXmlPatchOperationsBuilder

java.lang.Object
  extended by org.mobicents.protocols.xml.patch.dom.DOMXmlPatchOperationsBuilder
All Implemented Interfaces:
XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>

public class DOMXmlPatchOperationsBuilder
extends java.lang.Object
implements XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>

DOM Impl for XmlPatchOperationsBuilder.

Author:
baranowb, martins

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.mobicents.protocols.xml.patch.XmlPatchOperationsBuilder
XmlPatchOperationsBuilder.Pos, XmlPatchOperationsBuilder.Ws
 
Field Summary
protected  DOMNodeComparator domNodeComparator
           
protected static java.lang.String NAMESPACE_PREFIX
           
protected static int OP_THRESHOLD
           
protected static java.lang.String WILD_CARD_SELECTOR
           
protected static java.lang.String XMLNS_PREFIX
           
 
Fields inherited from interface org.mobicents.protocols.xml.patch.XmlPatchOperationsBuilder
XML_PATCH_OPS_NAMESPACE
 
Constructor Summary
DOMXmlPatchOperationsBuilder()
           
 
Method Summary
 org.w3c.dom.Element addAttribute(java.lang.String sel, java.lang.String attrName, java.lang.String attrValue, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 org.w3c.dom.Element addElement(java.lang.String sel, org.w3c.dom.Node element, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 org.w3c.dom.Element addNode(java.lang.String sel, XmlPatchOperationsBuilder.Pos pos, org.w3c.dom.Node node, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 org.w3c.dom.Element addPrefixNamespaceDeclaration(java.lang.String sel, java.lang.String namespacePrefix, java.lang.String namespaceValue, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 org.w3c.dom.Element[] buildPatchInstructions(org.w3c.dom.Document originalDocument, org.w3c.dom.Document patchedDocument)
           
protected  java.util.Collection<org.w3c.dom.Element> buildPatchOperationsForNode(java.lang.String selector, org.w3c.dom.Node oldElement, org.w3c.dom.Node newElement)
           
protected  java.lang.String createAttributeSelector(java.lang.String parentSelector, java.lang.String attributeName)
           
protected  java.lang.String createNamespaceSelector(java.lang.String selector, java.lang.String name)
           
protected  java.lang.String createPositionalSelector(java.lang.String parentSelector, int index)
           
 org.w3c.dom.Element removeAttribute(java.lang.String sel, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 org.w3c.dom.Element removeElement(java.lang.String sel, XmlPatchOperationsBuilder.Ws ws, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 org.w3c.dom.Element removeNode(java.lang.String sel, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 org.w3c.dom.Element removePrefixNamespaceDeclaration(java.lang.String sel, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 org.w3c.dom.Element replaceAttribute(java.lang.String sel, java.lang.String attributeValue, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 org.w3c.dom.Element replaceElement(java.lang.String sel, org.w3c.dom.Node element, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 org.w3c.dom.Element replaceNode(java.lang.String sel, org.w3c.dom.Node node, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 org.w3c.dom.Element replacePrefixNamespaceDeclaration(java.lang.String sel, java.lang.String namespaceValue, java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

domNodeComparator

protected DOMNodeComparator domNodeComparator

WILD_CARD_SELECTOR

protected static final java.lang.String WILD_CARD_SELECTOR
See Also:
Constant Field Values

NAMESPACE_PREFIX

protected static final java.lang.String NAMESPACE_PREFIX
See Also:
Constant Field Values

XMLNS_PREFIX

protected static final java.lang.String XMLNS_PREFIX
See Also:
Constant Field Values

OP_THRESHOLD

protected static final int OP_THRESHOLD
See Also:
Constant Field Values
Constructor Detail

DOMXmlPatchOperationsBuilder

public DOMXmlPatchOperationsBuilder()
Method Detail

addAttribute

public org.w3c.dom.Element addAttribute(java.lang.String sel,
                                        java.lang.String attrName,
                                        java.lang.String attrValue,
                                        java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                                 throws BuildPatchException
Specified by:
addAttribute in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

addElement

public org.w3c.dom.Element addElement(java.lang.String sel,
                                      org.w3c.dom.Node element,
                                      java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                               throws BuildPatchException
Specified by:
addElement in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

addNode

public org.w3c.dom.Element addNode(java.lang.String sel,
                                   XmlPatchOperationsBuilder.Pos pos,
                                   org.w3c.dom.Node node,
                                   java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                            throws BuildPatchException
Specified by:
addNode in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

addPrefixNamespaceDeclaration

public org.w3c.dom.Element addPrefixNamespaceDeclaration(java.lang.String sel,
                                                         java.lang.String namespacePrefix,
                                                         java.lang.String namespaceValue,
                                                         java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                                                  throws BuildPatchException
Specified by:
addPrefixNamespaceDeclaration in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

replaceAttribute

public org.w3c.dom.Element replaceAttribute(java.lang.String sel,
                                            java.lang.String attributeValue,
                                            java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                                     throws BuildPatchException
Specified by:
replaceAttribute in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

replaceElement

public org.w3c.dom.Element replaceElement(java.lang.String sel,
                                          org.w3c.dom.Node element,
                                          java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                                   throws BuildPatchException
Specified by:
replaceElement in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

replaceNode

public org.w3c.dom.Element replaceNode(java.lang.String sel,
                                       org.w3c.dom.Node node,
                                       java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                                throws BuildPatchException
Specified by:
replaceNode in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

replacePrefixNamespaceDeclaration

public org.w3c.dom.Element replacePrefixNamespaceDeclaration(java.lang.String sel,
                                                             java.lang.String namespaceValue,
                                                             java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                                                      throws BuildPatchException
Specified by:
replacePrefixNamespaceDeclaration in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

removeAttribute

public org.w3c.dom.Element removeAttribute(java.lang.String sel,
                                           java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                                    throws BuildPatchException
Specified by:
removeAttribute in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

removeElement

public org.w3c.dom.Element removeElement(java.lang.String sel,
                                         XmlPatchOperationsBuilder.Ws ws,
                                         java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                                  throws BuildPatchException
Specified by:
removeElement in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

removeNode

public org.w3c.dom.Element removeNode(java.lang.String sel,
                                      java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                               throws BuildPatchException
Specified by:
removeNode in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

removePrefixNamespaceDeclaration

public org.w3c.dom.Element removePrefixNamespaceDeclaration(java.lang.String sel,
                                                            java.util.Map<java.lang.String,java.lang.String> namespaceBindings)
                                                     throws BuildPatchException
Specified by:
removePrefixNamespaceDeclaration in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

buildPatchInstructions

public org.w3c.dom.Element[] buildPatchInstructions(org.w3c.dom.Document originalDocument,
                                                    org.w3c.dom.Document patchedDocument)
                                             throws BuildPatchException
Specified by:
buildPatchInstructions in interface XmlPatchOperationsBuilder<org.w3c.dom.Document,org.w3c.dom.Element,org.w3c.dom.Node,org.w3c.dom.Node>
Throws:
BuildPatchException

createPositionalSelector

protected java.lang.String createPositionalSelector(java.lang.String parentSelector,
                                                    int index)

createAttributeSelector

protected java.lang.String createAttributeSelector(java.lang.String parentSelector,
                                                   java.lang.String attributeName)

createNamespaceSelector

protected java.lang.String createNamespaceSelector(java.lang.String selector,
                                                   java.lang.String name)

buildPatchOperationsForNode

protected java.util.Collection<org.w3c.dom.Element> buildPatchOperationsForNode(java.lang.String selector,
                                                                                org.w3c.dom.Node oldElement,
                                                                                org.w3c.dom.Node newElement)
                                                                         throws BuildPatchException
Parameters:
selector - - selector pointing to node
originalDocument - - node in original
patchedDocument -
Returns:
Throws:
BuildPatchException


Copyright © 2011. All Rights Reserved.