Package org.gradle.api.capabilities

## Interface MutableCapabilitiesMetadata

- All Superinterfaces:
    `CapabilitiesMetadata`

      public interface MutableCapabilitiesMetadata
      extends CapabilitiesMetadata

  Describes the capabilities of a component in a mutable way. This interface can be used to adjust the capabilities of a published component via metadata rules (see `ComponentMetadataHandler`.
  Since:
    4.7

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addCapability​(java.lang.String group, java.lang.String name, java.lang.String version)` | Adds a new capability.
    `CapabilitiesMetadata` | `asImmutable()` | Returns an immutable vew of the capabilities.
    `void` | `removeCapability​(java.lang.String group, java.lang.String name)` | Removes a capability.

    - ### Methods inherited from interface org.gradle.api.capabilities.CapabilitiesMetadata

      `getCapabilities`

- - ### Method Detail

    - #### addCapability

          void addCapability​(java.lang.String group,
                             java.lang.String name,
                             java.lang.String version)

      Adds a new capability. If a capability of the same (group, name) is found with a different version, an error will be thrown.
      Parameters:
        `group` - the group of the capability
        `name` - the name of the capability
        `version` - the version of the capability

    - #### removeCapability

          void removeCapability​(java.lang.String group,
                                java.lang.String name)

      Removes a capability.
      Parameters:
        `group` - the group of the capability
        `name` - the name of the capability

    - #### asImmutable

          CapabilitiesMetadata asImmutable()

      Returns an immutable vew of the capabilities.
      Returns:
        an immutable view of the capabilities