Package org.gradle.plugins.ide.eclipse.model

# Class EclipseWtpFacet

java.lang.Object
org.gradle.plugins.ide.eclipse.model.EclipseWtpFacet

public class EclipseWtpFacet extends Object
Enables fine-tuning wtp facet details of the Eclipse plugin

Advanced configuration closures beforeMerged and whenMerged receive `WtpFacet` object as parameter.

     apply plugin: 'war' //or 'ear' or 'java'
     apply plugin: 'eclipse-wtp'

     eclipse {
       wtp {
         facet {
           //you can add some extra wtp facets; mandatory keys: 'name', 'version':
           facet name: 'someCoolFacet', version: '1.3'

           file {
             //if you want to mess with the resulting XML in whatever way you fancy
             withXml {
               def node = it.asNode()
               node.appendNode('xml', 'is what I love')
             }

             //beforeMerged and whenMerged closures are the highest voodoo for the tricky edge cases.
             //the type passed to the closures is WtpFacet

             //closure executed after wtp facet file content is loaded from existing file
             //but before gradle build information is merged
             beforeMerged { wtpFacet ->
               //tinker with WtpFacet here
             }

             //closure executed after wtp facet file content is loaded from existing file
             //and after gradle build information is merged
             whenMerged { wtpFacet ->
               //you can tinker with the WtpFacet here
             }
           }
         }
       }
     }

## Constructor Summary

Constructors
Constructor
Description
`EclipseWtpFacet(XmlFileContentMerger file)`

## Method Summary

Modifier and Type
Method
Description
`void`
`facet(Map<String,?> args)`
Adds a facet.
`void`
`file(Closure closure)`
Enables advanced configuration like tinkering with the output XML or affecting the way existing wtp facet file content is merged with gradle build information
`void`
`file(Action<? super XmlFileContentMerger> action)`
Enables advanced configuration like tinkering with the output XML or affecting the way existing wtp facet file content is merged with gradle build information.
`List<Facet>`
`getFacets()`
The facets to be added as elements.
`XmlFileContentMerger`
`getFile()`
See `file(Action)`
`void`
`mergeXmlFacet(WtpFacet xmlFacet)`
`void`
`setFacets(List<Facet> facets)`

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

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

## Constructor Details

### EclipseWtpFacet

public EclipseWtpFacet(XmlFileContentMerger file)

## Method Details

### getFile

public XmlFileContentMerger getFile()
See `file(Action)`

### file

public void file(Closure closure)
Enables advanced configuration like tinkering with the output XML or affecting the way existing wtp facet file content is merged with gradle build information

The object passed to whenMerged{} and beforeMerged{} closures is of type `WtpFacet`

For example see docs for `EclipseWtpFacet`

### file

public void file(Action<? super XmlFileContentMerger> action)
Enables advanced configuration like tinkering with the output XML or affecting the way existing wtp facet file content is merged with gradle build information.

For example see docs for `EclipseWtpFacet`

Since:
  3.5

### getFacets

public List<Facet> getFacets()
The facets to be added as elements.

For examples see docs for `EclipseWtpFacet`

### setFacets

public void setFacets(List<Facet> facets)

### facet

public void facet(Map<String,?> args)
Adds a facet.

For examples see docs for `EclipseWtpFacet`

Parameters:
  `args` - A map that must contain a 'name' and 'version' key with corresponding values.

### mergeXmlFacet

public void mergeXmlFacet(WtpFacet xmlFacet)