Class AddOrUpdateChild<P>

java.lang.Object
org.openrewrite.TreeVisitor<Xml,P>
org.openrewrite.xml.XmlVisitor<P>
org.openrewrite.xml.AddOrUpdateChild<P>

public class AddOrUpdateChild<P> extends XmlVisitor<P>
  • Constructor Details

    • AddOrUpdateChild

      public AddOrUpdateChild()
  • Method Details

    • visitTag

      public Xml visitTag(Xml.Tag tag, P p)
      Overrides:
      visitTag in class XmlVisitor<P>
    • addOrUpdateChild

      public static Xml.Tag addOrUpdateChild(Xml.Tag parent, Xml.Tag child, org.openrewrite.Cursor parentCursor)
      Add the specified child tag to the parent tag's children. If a tag with the same name as the new child tag already exists within the parent tag's children it is replaced. If no tag with the same name exists, the child tag is added.
      Parameters:
      parent - the tag to add 'child' to.
      child - the tag to add to the children of 'parent'.
      parentCursor - A cursor pointing one level above 'parent'. Determines the final indentation of 'child'.
      Returns:
      'parent' with 'child' among its direct child tags.
    • addOrUpdateChild

      public static Xml.Tag addOrUpdateChild(Xml.Tag parentScope, Xml.Tag parent, Xml.Tag child, org.openrewrite.Cursor parentCursor)
      Add the specified child tag to the parent tag's children. If a tag with the same name as the new child tag already exists within the parent tag's children it is replaced. If no tag with the same name exists, the child tag is added.
      Parameters:
      parentScope - a tag which contains 'parent' as a direct or transitive child element.
      parent - the tag to add 'child' to.
      child - the tag to add to the children of 'parent'.
      parentCursor - A cursor pointing one level above 'parent'. Determines the final indentation of 'child'.
      Returns:
      'parentScope' which somewhere contains 'parent' with 'child' among its direct child tags.