Package org.gradle.api.services

## Interface BuildServiceRegistration<T extends BuildService<P>,​P extends BuildServiceParameters>

- Type Parameters:
    `T` - the service type.
    `P` - the service parameters type.
  All Superinterfaces:
    `Named`

      public interface BuildServiceRegistration<T extends BuildService<P>,​P extends BuildServiceParameters>
      extends Named

  Details of a build service.
  Since:
    6.1

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Named

      `Named.Namer`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Property<java.lang.Integer>` | `getMaxParallelUsages()` | Specifies the maximum number of tasks that can use this service in parallel.
    `P` | `getParameters()` | Returns the parameters that will be used to instantiate the service with.
    `Provider<T>` | `getService()` | Returns a `Provider` that will create the service instance when its value is queried.

    - ### Methods inherited from interface org.gradle.api.Named

      `getName`

- - ### Method Detail

    - #### getParameters

          P getParameters()

      Returns the parameters that will be used to instantiate the service with.

    - #### getMaxParallelUsages

          Property<java.lang.Integer> getMaxParallelUsages()

      Specifies the maximum number of tasks that can use this service in parallel. Setting this to 1 means that the service will be used by a single task at a time. When this property has no value defined, then any number of tasks may use this service in parallel. This is the default.

      IMPORTANT: the build service must be explicitly registered with every using task via `Task#usesService` for this constraint to be honored.

      See Also:
        `Task.usesService(Provider)`

    - #### getService

          Provider<T> getService()

      Returns a `Provider` that will create the service instance when its value is queried.