# NavDestinationBuilder

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

*** ** * ** ***

Common/AllAndroid/JVMJavaScript
- Cmn

  ```
  @NavDestinationDsl
  open class NavDestinationBuilder<D : NavDestination>
  ```
Known direct subclasses [ActivityNavigatorDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigatorDestinationBuilder), [BottomSheetNavigatorDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/compose/material/navigation/BottomSheetNavigatorDestinationBuilder), [ComposeNavigatorDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/compose/ComposeNavigatorDestinationBuilder), [DialogFragmentNavigatorDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder), [DialogNavigatorDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/compose/DialogNavigatorDestinationBuilder), [DynamicActivityNavigatorDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicActivityNavigatorDestinationBuilder), [DynamicFragmentNavigatorDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilder), [DynamicIncludeNavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicIncludeNavGraphBuilder), [FragmentNavigatorDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigatorDestinationBuilder), [NavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigatorDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator.Destination` |
| `https://developer.android.com/reference/kotlin/androidx/compose/material/navigation/BottomSheetNavigatorDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/compose/material/navigation/BottomSheetNavigator.Destination` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/compose/ComposeNavigatorDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/compose/ComposeNavigator.Destination` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigatorDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/DialogFragmentNavigator.Destination` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/compose/DialogNavigatorDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/compose/DialogNavigator.Destination` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicActivityNavigatorDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicActivityNavigator.Destination` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigator.Destination` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicIncludeNavGraphBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicIncludeGraphNavigator.DynamicIncludeNavGraph` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigatorDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/fragment/FragmentNavigator.Destination` |
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraphBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavGraph` |

Known indirect subclasses [DynamicNavGraphBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder` | DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/dynamicfeatures/DynamicGraphNavigator.DynamicNavGraph` |

*** ** * ** ***

DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination`

## Summary

| ### Public constructors |
|---|---|
| `<D : https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination> [NavDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#NavDestinationBuilder(androidx.navigation.Navigator,kotlin.Int))( navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<D>, id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` **This function is deprecated.** Use routes to build your NavDestination instead | android |
| `<D : https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination> https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#NavDestinationBuilder(androidx.navigation.Navigator,kotlin.String)( navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<D>, route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html? )` DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination` with a unique route. | Cmn android |
| `<D : https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination> https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#NavDestinationBuilder(androidx.navigation.Navigator,kotlin.reflect.KClass,kotlin.collections.Map)( navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<D>, route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>?, typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> )` DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination` with a serializable `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html`. | Cmn android |

| ### Public functions |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `[action](https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#action(kotlin.Int,kotlin.Function1))(actionId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, actionBuilder: https://developer.android.com/reference/kotlin/androidx/navigation/NavActionBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` **This function is deprecated.** Building NavDestinations using IDs with the Kotlin DSL has been deprecated in favor of using routes. | android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#argument(kotlin.String,kotlin.Function1)(name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, argumentBuilder: https://developer.android.com/reference/kotlin/androidx/navigation/NavArgumentBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Add a `https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument` to this destination. | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#argument(kotlin.String,androidx.navigation.NavArgument)(name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, argument: https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument)` Add a `https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument` to this destination. | Cmn android |
| `open D` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#build()()` Build the NavDestination by calling `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator#createDestination()`. | Cmn android |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String)(basePath: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Add a deep link to this destination. | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.Function1)(navDeepLink: https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLinkDslBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Add a deep link to this destination. | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(androidx.navigation.NavDeepLink)(navDeepLink: https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLink)` Add a deep link to this destination. | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String)(uriPattern: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Add a deep link to this destination. | Cmn android |
| `inline https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String,kotlin.Function1)(basePath: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, noinline navDeepLink: https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLinkDslBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Add a deep link to this destination. | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.reflect.KClass,kotlin.String,kotlin.Function1)(route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<T>, basePath: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, navDeepLink: https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLinkDslBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Add a deep link to this destination. | Cmn android |

| ### Protected functions |
|---|---|---|
| `open D` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#instantiateDestination()()` Instantiate a new instance of `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder` that will be passed to `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#build()`. | Cmn android |

| ### Public properties |
|---|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#id()` The destination's unique ID. | android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html?` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#label()` The descriptive label of the destination | Cmn android |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#route()` The destination's unique route. | Cmn android |

| ### Protected properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<D>` | `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#navigator()` The navigator the destination that will be used in `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#instantiateDestination()` to create the destination. | Cmn android |

## Public constructors

### NavDestinationBuilder

android

```
<D : NavDestination> [NavDestinationBuilder](https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#NavDestinationBuilder(androidx.navigation.Navigator,kotlin.Int))(
    navigator: Navigator<D>,
    id: @IdRes Int
)
```

> [!CAUTION]
> **This function is deprecated.**   
> Use routes to build your NavDestination instead, use this instead:
>
> ```kotlin
> NavDestinationBuilder(navigator, route = id.toString())
> ```

DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination` with a unique id.

This sets the destination's `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#route()` to `null`.

| Parameters |
|---|---|
| `navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<D>` | navigator used to create the destination |
| `id: @https://developer.android.com/reference/kotlin/androidx/annotation/IdRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the destination's unique id |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder<D>` | the newly constructed `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination` |

### NavDestinationBuilder

Cmn android

```
<D : NavDestination> NavDestinationBuilder(
    navigator: Navigator<D>,
    route: String?
)
```

DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination` with a unique route.

This will also update the [id](https://developer.android.com/reference/androidx/navigation/NavDestinationBuilder#getId()) of the destination based on route.

| Parameters |
|---|---|
| `navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<D>` | navigator used to create the destination |
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | the destination's unique route |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder<D>` | the newly constructed `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination` |

### NavDestinationBuilder

Cmn android

```
<D : NavDestination> NavDestinationBuilder(
    navigator: Navigator<D>,
    route: KClass<*>?,
    typeMap: Map<KType, NavType<*>>
)
```

DSL for constructing a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination` with a serializable `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html`.

This will also update the [id](https://developer.android.com/reference/androidx/navigation/NavDestinationBuilder#getId()) of the destination based on KClass's serializer.

| Parameters |
|---|---|
| `navigator: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator<D>` | navigator used to create the destination |
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<*>?` | the `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` of the destination |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>>` | map of destination arguments' kotlin type `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html` to its respective custom `https://developer.android.com/reference/kotlin/androidx/navigation/NavType`. May be empty if destination does not use custom NavTypes. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder<D>` | the newly constructed `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination` |

## Public functions

### action

android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0) Deprecated in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
fun [action](https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#action(kotlin.Int,kotlin.Function1))(actionId: Int, actionBuilder: NavActionBuilder.() -> Unit): Unit
```

> [!CAUTION]
> **This function is deprecated.**   
> Building NavDestinations using IDs with the Kotlin DSL has been deprecated in favor of using routes. When using routes there is no need for actions.

Adds a new `https://developer.android.com/reference/kotlin/androidx/navigation/NavAction` to the destination

### argument

Cmn android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
fun argument(name: String, argumentBuilder: NavArgumentBuilder.() -> Unit): Unit
```

Add a `https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument` to this destination.

### argument

Cmn android Added in [2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0)

```
fun argument(name: String, argument: NavArgument): Unit
```

Add a `https://developer.android.com/reference/kotlin/androidx/navigation/NavArgument` to this destination.

### build

Cmn android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
open fun build(): D
```

Build the NavDestination by calling `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator#createDestination()`.

### deepLink

Cmn android

```
inline fun <T : Any> deepLink(basePath: String): Unit
```

Add a deep link to this destination.

The arguments in `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String)` are expected to be identical (in name and type) to the arguments in the `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#route()` from KClass that was used to construct this `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder`.

Extracts deeplink arguments from `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String)` and appends it to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String)`. See docs on the safe args version of `https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLink.Builder#setUriPattern(kotlin.String)` for the final uriPattern's generation logic.

In addition to a direct Uri match, `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String)`s without a scheme are assumed as http and https. For example, `www.example.com` will match `http://www.example.com` and `https://www.example.com`.

| Parameters |
|---|---|
| `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | The deepLink KClass to extract arguments from |
| `basePath: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The base uri path to append arguments onto |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLink.Builder#setUriPattern(kotlin.String)` | for the final uriPattern's generation logic. |

### deepLink

Cmn android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
fun deepLink(navDeepLink: NavDeepLinkDslBuilder.() -> Unit): Unit
```

Add a deep link to this destination.

In addition to a direct Uri match, the following features are supported:

- Uris without a scheme are assumed as http and https. For example, `www.example.com` will match `http://www.example.com` and `https://www.example.com`.

- Placeholders in the form of `{placeholder_name}` matches 1 or more characters. The String value of the placeholder will be available in the arguments `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` with a key of the same name. For example, `http://www.example.com/users/{id}` will match `http://www.example.com/users/4`.

- The `.*` wildcard can be used to match 0 or more characters.

| Parameters |
|---|---|
| `navDeepLink: https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLinkDslBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the NavDeepLink to be added to this destination |

### deepLink

Cmn android Added in [2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0)

```
fun deepLink(navDeepLink: NavDeepLink): Unit
```

Add a deep link to this destination.

In addition to a direct Uri match, the following features are supported:

- Uris without a scheme are assumed as http and https. For example, `www.example.com` will match `http://www.example.com` and `https://www.example.com`.

- Placeholders in the form of `{placeholder_name}` matches 1 or more characters. The String value of the placeholder will be available in the arguments `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` with a key of the same name. For example, `http://www.example.com/users/{id}` will match `http://www.example.com/users/4`.

- The `.*` wildcard can be used to match 0 or more characters.

| Parameters |
|---|---|
| `navDeepLink: https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLink` | the NavDeepLink to be added to this destination |

### deepLink

Cmn android

```
fun <T : Any> deepLink(uriPattern: String): Unit
```

Add a deep link to this destination.

In addition to a direct Uri match, the following features are supported:

- Uris without a scheme are assumed as http and https. For example, `www.example.com` will match `http://www.example.com` and `https://www.example.com`.

- Placeholders in the form of `{placeholder_name}` matches 1 or more characters. The String value of the placeholder will be available in the arguments `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` with a key of the same name. For example, `http://www.example.com/users/{id}` will match `http://www.example.com/users/4`.

- The `.*` wildcard can be used to match 0 or more characters.

| Parameters |
|---|---|
| `uriPattern: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The uri pattern to add as a deep link |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String)` |   |

### deepLink

Cmn android

```
inline fun <T : Any> deepLink(basePath: String, noinline navDeepLink: NavDeepLinkDslBuilder.() -> Unit): Unit
```

Add a deep link to this destination.

The arguments in `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String,kotlin.Function1)` are expected to be identical (in name and type) to the arguments in the `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#route()` from KClass that was used to construct this `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder`.

Extracts deeplink arguments from `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String,kotlin.Function1)` and appends it to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String,kotlin.Function1)`. See docs on the safe args version of `https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLink.Builder#setUriPattern(kotlin.String)` for the final uriPattern's generation logic.

In addition to a direct Uri match, `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.String,kotlin.Function1)`s without a scheme are assumed as http and https. For example, `www.example.com` will match `http://www.example.com` and `https://www.example.com`.

| Parameters |
|---|---|
| `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | The deepLink KClass to extract arguments from |
| `basePath: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The base uri path to append arguments onto |
| `noinline navDeepLink: https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLinkDslBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the NavDeepLink to be added to this destination |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLink.Builder#setUriPattern(kotlin.String)` | for the final uriPattern's generation logic. |

### deepLink

Cmn android Added in [2.9.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.9.0)

```
fun <T : Any> deepLink(route: KClass<T>, basePath: String, navDeepLink: NavDeepLinkDslBuilder.() -> Unit): Unit
```

Add a deep link to this destination.

The arguments in `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.reflect.KClass,kotlin.String,kotlin.Function1)` are expected to be identical (in name and type) to the arguments in the `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#route()` that was used to construct this `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder`.

Extracts deeplink arguments from `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.reflect.KClass,kotlin.String,kotlin.Function1)` and appends it to the `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.reflect.KClass,kotlin.String,kotlin.Function1)`. See docs on the safe args version of `https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLink.Builder#setUriPattern(kotlin.String)` for the final uriPattern's generation logic.

In addition to a direct Uri match, `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#deepLink(kotlin.reflect.KClass,kotlin.String,kotlin.Function1)`s without a scheme are assumed as http and https. For example, `www.example.com` will match `http://www.example.com` and `https://www.example.com`.

| Parameters |
|---|---|
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<T>` | The deepLink KClass to extract arguments from |
| `basePath: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The base uri path to append arguments onto |
| `navDeepLink: https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLinkDslBuilder.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the NavDeepLink to be added to this destination |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/NavDeepLink.Builder#setUriPattern(kotlin.String)` | for the final uriPattern's generation logic. |

## Protected functions

### instantiateDestination

Cmn android Added in [2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0)

```
protected open fun instantiateDestination(): D
```

Instantiate a new instance of `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder` that will be passed to `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#build()`.

By default, this calls `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator#createDestination()` on `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#navigator()`, but can be overridden to call a custom constructor, etc.

## Public properties

### id

android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
val id: @IdRes Int
```

The destination's unique ID.

### label

Cmn android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
var label: CharSequence?
```

The descriptive label of the destination

### route

Cmn android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
val route: String?
```

The destination's unique route.

## Protected properties

### navigator

Cmn android Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
protected val navigator: Navigator<D>
```

The navigator the destination that will be used in `https://developer.android.com/reference/kotlin/androidx/navigation/NavDestinationBuilder#instantiateDestination()` to create the destination.