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 and Description
    --- | ---
    `static class` | `Namer.Comparator<T>` A comparator implementation based on the names returned by the given namer.

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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