Class Xpp3Dom

java.lang.Object
org.codehaus.plexus.util.xml.Xpp3Dom
All Implemented Interfaces:
Serializable

public class Xpp3Dom extends Object implements Serializable
NOTE: remove all the util code in here when separated, this class should be pure data.
See Also:
  • Field Details

    • CHILDREN_COMBINATION_MODE_ATTRIBUTE

      public static final String CHILDREN_COMBINATION_MODE_ATTRIBUTE
      See Also:
    • CHILDREN_COMBINATION_MERGE

      public static final String CHILDREN_COMBINATION_MERGE
      See Also:
    • CHILDREN_COMBINATION_APPEND

      public static final String CHILDREN_COMBINATION_APPEND
      See Also:
    • DEFAULT_CHILDREN_COMBINATION_MODE

      public static final String DEFAULT_CHILDREN_COMBINATION_MODE
      This default mode for combining children DOMs during merge means that where element names match, the process will try to merge the element data, rather than putting the dominant and recessive elements (which share the same element name) as siblings in the resulting DOM.
      See Also:
    • SELF_COMBINATION_MODE_ATTRIBUTE

      public static final String SELF_COMBINATION_MODE_ATTRIBUTE
      See Also:
    • SELF_COMBINATION_OVERRIDE

      public static final String SELF_COMBINATION_OVERRIDE
      See Also:
    • SELF_COMBINATION_MERGE

      public static final String SELF_COMBINATION_MERGE
      See Also:
    • SELF_COMBINATION_REMOVE

      public static final String SELF_COMBINATION_REMOVE
      See Also:
    • DEFAULT_SELF_COMBINATION_MODE

      public static final String DEFAULT_SELF_COMBINATION_MODE
      This default mode for combining a DOM node during merge means that where element names match, the process will try to merge the element attributes and values, rather than overriding the recessive element completely with the dominant one. This means that wherever the dominant element doesn't provide the value or a particular attribute, that value or attribute will be set from the recessive DOM node.
      See Also:
  • Constructor Details

    • Xpp3Dom

      public Xpp3Dom(String name)
    • Xpp3Dom

      public Xpp3Dom(String name, Object inputLocation)
      Parameters:
      inputLocation - The input location.
      name - The name of the Dom.
      Since:
      3.2.0
    • Xpp3Dom

      public Xpp3Dom(Xpp3Dom src)
      Copy constructor.
      Parameters:
      src - The source Dom.
    • Xpp3Dom

      public Xpp3Dom(Xpp3Dom src, String name)
      Copy constructor with alternative name.
      Parameters:
      src - The source Dom.
      name - The name of the Dom.
    • Xpp3Dom

      public Xpp3Dom(XmlNode dom)
    • Xpp3Dom

      public Xpp3Dom(XmlNode dom, Xpp3Dom parent)
    • Xpp3Dom

      public Xpp3Dom(XmlNode dom, Xpp3Dom.ChildrenTracking childrenTracking)
  • Method Details

    • getDom

      public XmlNode getDom()
    • getName

      public String getName()
    • getValue

      public String getValue()
    • setValue

      public void setValue(String value)
    • getAttributeNames

      public String[] getAttributeNames()
    • getAttribute

      public String getAttribute(String name)
    • removeAttribute

      public boolean removeAttribute(String name)
      Parameters:
      name - name of the attribute to be removed
      Returns:
      true if the attribute has been removed
      Since:
      3.4.0
    • setAttribute

      public void setAttribute(String name, String value)
      Set the attribute value
      Parameters:
      name - String not null
      value - String not null
    • getChild

      public Xpp3Dom getChild(int i)
    • getChild

      public Xpp3Dom getChild(String name)
    • addChild

      public void addChild(Xpp3Dom xpp3Dom)
    • getChildren

      public Xpp3Dom[] getChildren()
    • getChildren

      public Xpp3Dom[] getChildren(String name)
    • getChildCount

      public int getChildCount()
    • removeChild

      public void removeChild(int i)
    • removeChild

      public void removeChild(Xpp3Dom child)
    • getParent

      public Xpp3Dom getParent()
    • setParent

      public void setParent(Xpp3Dom parent)
    • getInputLocation

      public Object getInputLocation()
      Returns:
      input location
      Since:
      3.2.0
    • setInputLocation

      public void setInputLocation(Object inputLocation)
      Parameters:
      inputLocation - input location to set
      Since:
      3.2.0
    • writeToSerializer

      public void writeToSerializer(String namespace, org.codehaus.plexus.util.xml.pull.XmlSerializer serializer) throws IOException
      Throws:
      IOException
    • mergeXpp3Dom

      public static Xpp3Dom mergeXpp3Dom(Xpp3Dom dominant, Xpp3Dom recessive, Boolean childMergeOverride)
      Merge two DOMs, with one having dominance in the case of collision.
      Parameters:
      dominant - The dominant DOM into which the recessive value/attributes/children will be merged
      recessive - The recessive DOM, which will be merged into the dominant DOM
      childMergeOverride - Overrides attribute flags to force merging or appending of child elements into the dominant DOM
      Returns:
      merged DOM
      See Also:
    • mergeXpp3Dom

      public static Xpp3Dom mergeXpp3Dom(Xpp3Dom dominant, Xpp3Dom recessive)
      Merge two DOMs, with one having dominance in the case of collision. Merge mechanisms (vs. override for nodes, or vs. append for children) is determined by attributes of the dominant root node.
      Parameters:
      dominant - The dominant DOM into which the recessive value/attributes/children will be merged
      recessive - The recessive DOM, which will be merged into the dominant DOM
      Returns:
      merged DOM
      See Also:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toUnescapedString

      public String toUnescapedString()
    • isNotEmpty

      public static boolean isNotEmpty(String str)
    • isEmpty

      public static boolean isEmpty(String str)
    • setChildrenTracking

      public void setChildrenTracking(Xpp3Dom.ChildrenTracking childrenTracking)