Package org.gradle.api

## Interface Namer<T>

- Type Parameters:
    `T` - The type of object that the namer can name
  All Known Implementing Classes:
    `Configuration.Namer`, `Named.Namer`, `Task.Namer`

      public interface Namer<T>

  A namer is capable of providing a name based on some inherent characteristic of an object.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `Namer.Comparator<T>` | A comparator implementation based on the names returned by the given namer.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `determineName​(T object)` | Determines the name of the given object.

- - ### Method Detail

    - #### determineName

          String determineName​(T object)

      Determines the name of the given object.
      Parameters:
        `object` - The object to determine the name of
      Returns:
        The object's inherent name. Never null.
      Throws:
        `RuntimeException` - If the name cannot be determined or is null