# NavigatorProviderKt

Added in 2.4.0

*** ** * ** ***


```
public final class NavigatorProviderKt
```

<br />

*** ** * ** ***

## Summary

| ### Public methods |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull T` | `<T extends https://developer.android.com/reference/androidx/navigation/Navigator<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination>> https://developer.android.com/reference/androidx/navigation/NavigatorProviderKt#(androidx.navigation.NavigatorProvider).get(kotlin.reflect.KClass)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavigatorProvider receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> clazz )` Retrieves a registered `https://developer.android.com/reference/androidx/navigation/Navigator` using the name provided by the `https://developer.android.com/reference/androidx/navigation/Navigator.Name`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull T` | `<T extends https://developer.android.com/reference/androidx/navigation/Navigator<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination>> https://developer.android.com/reference/androidx/navigation/NavigatorProviderKt#(androidx.navigation.NavigatorProvider).get(kotlin.String)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavigatorProvider receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html name )` Retrieves a registered `https://developer.android.com/reference/androidx/navigation/Navigator` by name. |
| `static final void` | `https://developer.android.com/reference/androidx/navigation/NavigatorProviderKt#(androidx.navigation.NavigatorProvider).plusAssign(androidx.navigation.Navigator)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavigatorProvider receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/Navigator<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination> navigator )` Register a navigator using the name provided by the `https://developer.android.com/reference/androidx/navigation/Navigator.Name`. |
| `static final https://developer.android.com/reference/androidx/navigation/Navigator<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination>` | `https://developer.android.com/reference/androidx/navigation/NavigatorProviderKt#(androidx.navigation.NavigatorProvider).set(kotlin.String,androidx.navigation.Navigator)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavigatorProvider receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html name, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/Navigator<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination> navigator )` Register a `https://developer.android.com/reference/androidx/navigation/Navigator` by name. |

## Public methods

### get

Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavigatorProvider.+function:get) Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
public static final @NonNull T <T extends Navigator<@NonNull NavDestination>> get(
    @NonNull NavigatorProvider receiver,
    @NonNull KClass<@NonNull T> clazz
)
```

Retrieves a registered `https://developer.android.com/reference/androidx/navigation/Navigator` using the name provided by the `https://developer.android.com/reference/androidx/navigation/Navigator.Name`.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html` | if the Navigator has not been added |

### get

Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavigatorProvider.kt+function:get) Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
public static final @NonNull T <T extends Navigator<@NonNull NavDestination>> get(
    @NonNull NavigatorProvider receiver,
    @NonNull String name
)
```

Retrieves a registered `https://developer.android.com/reference/androidx/navigation/Navigator` by name.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html` | if the Navigator has not been added |

### plusAssign

Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavigatorProvider.kt+function:plusAssign) Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
public static final void plusAssign(
    @NonNull NavigatorProvider receiver,
    @NonNull Navigator<@NonNull NavDestination> navigator
)
```

Register a navigator using the name provided by the `https://developer.android.com/reference/androidx/navigation/Navigator.Name`.

### set

Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavigatorProvider.kt+function:set) Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
public static final Navigator<@NonNull NavDestination> set(
    @NonNull NavigatorProvider receiver,
    @NonNull String name,
    @NonNull Navigator<@NonNull NavDestination> navigator
)
```

Register a `https://developer.android.com/reference/androidx/navigation/Navigator` by name. If a navigator by this name is already registered, this new navigator will replace it.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/navigation/Navigator<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDestination>` | the previously added `https://developer.android.com/reference/androidx/navigation/Navigator` for the given name, if any |