# NavDeepLinkDslBuilderKt

Added in 2.4.0

*** ** * ** ***


```
public final class NavDeepLinkDslBuilderKt
```

<br />

*** ** * ** ***

## Summary

| ### Public methods |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDeepLink` | `https://developer.android.com/reference/androidx/navigation/NavDeepLinkDslBuilderKt#navDeepLink(kotlin.Function1)( @https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDeepLinkDslBuilder, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> deepLinkBuilder )` Construct a new `https://developer.android.com/reference/androidx/navigation/NavDeepLink` |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDeepLink` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/navigation/NavDeepLinkDslBuilderKt#navDeepLink(kotlin.String,kotlin.collections.Map,kotlin.Function1)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html basePath, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull ?>> typeMap, @https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDeepLinkDslBuilder, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> deepLinkBuilder )` Construct a new `https://developer.android.com/reference/androidx/navigation/NavDeepLink` |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDeepLink` | `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/navigation/NavDeepLinkDslBuilderKt#navDeepLink(kotlin.reflect.KClass,kotlin.String,kotlin.collections.Map,kotlin.Function1)( @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> route, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html basePath, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull ?>> typeMap, @https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDeepLinkDslBuilder, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> deepLinkBuilder )` Construct a new `https://developer.android.com/reference/androidx/navigation/NavDeepLink` |

## Public methods

### navDeepLink

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

```
public static final @NonNull NavDeepLink navDeepLink(
    @NonNull Function1<@NonNull NavDeepLinkDslBuilder, Unit> deepLinkBuilder
)
```

Construct a new `https://developer.android.com/reference/androidx/navigation/NavDeepLink`

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDeepLinkDslBuilder, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> deepLinkBuilder` | the builder used to construct the deeplink |

### navDeepLink

Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavDeepLinkDslBuilder.kt+function:navDeepLink)

```
public static final @NonNull NavDeepLink <T extends Object> navDeepLink(
    @NonNull String basePath,
    @NonNull Map<@NonNull KType, @NonNull NavType<@NonNull ?>> typeMap,
    @NonNull Function1<@NonNull NavDeepLinkDslBuilder, Unit> deepLinkBuilder
)
```

Construct a new `https://developer.android.com/reference/androidx/navigation/NavDeepLink`

Extracts deeplink arguments from `https://developer.android.com/reference/androidx/navigation/package-summary#navDeepLink(kotlin.String,kotlin.collections.Map,kotlin.Function1)` and appends it to the `https://developer.android.com/reference/androidx/navigation/package-summary#navDeepLink(kotlin.String,kotlin.collections.Map,kotlin.Function1)`. The base path \& generated arguments form the final uri pattern for the deeplink.

See docs on the safe args version of `https://developer.android.com/reference/androidx/navigation/NavDeepLink.Builder#setUriPattern(kotlin.String)` for the final uriPattern's generation logic.

| Parameters |
|---|---|
| `<T extends https://developer.android.com/reference/java/lang/Object.html>` | The deepLink KClass to extract arguments from |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html basePath` | The base uri path to append arguments onto |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull ?>> typeMap` | 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/androidx/navigation/NavType`. May be empty if `https://developer.android.com/reference/androidx/navigation/package-summary#navDeepLink(kotlin.String,kotlin.collections.Map,kotlin.Function1)` does not use custom NavTypes. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDeepLinkDslBuilder, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> deepLinkBuilder` | the builder used to construct the deeplink |

### navDeepLink

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

```
public static final @NonNull NavDeepLink <T extends Object> navDeepLink(
    @NonNull KClass<@NonNull T> route,
    @NonNull String basePath,
    @NonNull Map<@NonNull KType, @NonNull NavType<@NonNull ?>> typeMap,
    @NonNull Function1<@NonNull NavDeepLinkDslBuilder, Unit> deepLinkBuilder
)
```

Construct a new `https://developer.android.com/reference/androidx/navigation/NavDeepLink`

Extracts deeplink arguments from `https://developer.android.com/reference/androidx/navigation/package-summary#navDeepLink(kotlin.reflect.KClass,kotlin.String,kotlin.collections.Map,kotlin.Function1)` and appends it to the `https://developer.android.com/reference/androidx/navigation/package-summary#navDeepLink(kotlin.reflect.KClass,kotlin.String,kotlin.collections.Map,kotlin.Function1)`. The base path \& generated arguments form the final uri pattern for the deeplink.

See docs on the safe args version of `https://developer.android.com/reference/androidx/navigation/NavDeepLink.Builder#setUriPattern(kotlin.String)` for the final uriPattern's generation logic.

| Parameters |
|---|---|
| `@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> route` | The deepLink `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html` to extract arguments from |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html basePath` | The base uri path to append arguments onto |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull ?>> typeMap` | 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/androidx/navigation/NavType`. May be empty if `https://developer.android.com/reference/androidx/navigation/package-summary#navDeepLink(kotlin.reflect.KClass,kotlin.String,kotlin.collections.Map,kotlin.Function1)` does not use custom NavTypes. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavDeepLinkDslBuilder, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> deepLinkBuilder` | the builder used to construct the deeplink |