Package org.gradle.plugins.ide.api

## Class XmlFileContentMerger

- java.lang.Object
- - org.gradle.plugins.ide.api.FileContentMerger
  - - org.gradle.plugins.ide.api.XmlFileContentMerger

- Direct Known Subclasses:
    `IdeaModuleIml`

      public class XmlFileContentMerger
      extends FileContentMerger

  Models the generation/parsing/merging capabilities. Adds XML-related hooks.

  For examples see docs for `EclipseProject` or `IdeaProject` and others.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `XmlFileContentMerger​(org.gradle.internal.xml.XmlTransformer xmlTransformer)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `org.gradle.internal.xml.XmlTransformer` | `getXmlTransformer()` |
    `void` | `setXmlTransformer​(org.gradle.internal.xml.XmlTransformer xmlTransformer)` |
    `void` | `withXml​(Closure closure)` | Adds a closure to be called when the file has been created.
    `void` | `withXml​(Action<? super XmlProvider> action)` | Adds an action to be called when the file has been created.

    - ### Methods inherited from class org.gradle.plugins.ide.api.FileContentMerger

      `beforeMerged, beforeMerged, getBeforeMerged, getWhenMerged, setBeforeMerged, setWhenMerged, whenMerged, whenMerged`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### XmlFileContentMerger

          public XmlFileContentMerger​(org.gradle.internal.xml.XmlTransformer xmlTransformer)

  - ### Method Detail

    - #### getXmlTransformer

          public org.gradle.internal.xml.XmlTransformer getXmlTransformer()

    - #### setXmlTransformer

          public void setXmlTransformer​(org.gradle.internal.xml.XmlTransformer xmlTransformer)

    - #### withXml

          public void withXml​(Closure closure)

      Adds a closure to be called when the file has been created. The XML is passed to the closure as a parameter in form of a `XmlProvider`. The closure can modify the XML before it is written to the output file.

      For examples see docs for `EclipseProject` or `IdeaProject` and others.

      Parameters:
        `closure` - The closure to execute when the XML has been created.

    - #### withXml

          public void withXml​(Action<? super XmlProvider> action)

      Adds an action to be called when the file has been created.

      See `withXml(Closure)`

      Parameters:
        `action` - The action to execute when the XML has been created.