# SpeculativeLoadingParameters.Builder

Artifact: [androidx.webkit:webkit](https://developer.android.com/jetpack/androidx/releases/webkit) [View Source](https://cs.android.com/search?q=file:androidx/webkit/SpeculativeLoadingParameters.java+class:androidx.webkit.SpeculativeLoadingParameters.Builder) Added in [1.13.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.13.0) Deprecated in [1.17.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.17.0)

*** ** * ** ***


```
class SpeculativeLoadingParameters.Builder
```

<br />

*** ** * ** ***

> [!CAUTION]
> **This class is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters` or `https://developer.android.com/reference/kotlin/androidx/webkit/PrefetchParameters` instead.

A builder class to use to construct the `https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters`.

## Summary

| ### Public constructors |
|---|
| `[Builder](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#Builder())()` **This function is deprecated.** Deprecated in Java |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder` | `@https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch [addAdditionalHeader](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#addAdditionalHeader(java.lang.String,java.lang.String))(key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` **This function is deprecated.** Deprecated in Java |
| `https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder` | `@https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch [addAdditionalHeaders](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#addAdditionalHeaders(java.util.Map<java.lang.String,java.lang.String>))(additionalHeaders: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-map/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>)` **This function is deprecated.** Deprecated in Java |
| `https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters` | `@https://developer.android.com/reference/kotlin/androidx/annotation/RequiresFeature(name = https://developer.android.com/reference/kotlin/androidx/webkit/WebViewFeature.PROFILE_URL_PREFETCH, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported") @https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch [build](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#build())()` **This function is deprecated.** Deprecated in Java |
| `https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder` | `@https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch [setExpectedNoVarySearchData](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#setExpectedNoVarySearchData(androidx.webkit.NoVarySearchHeader))( expectedNoVarySearchHeader: https://developer.android.com/reference/kotlin/androidx/webkit/NoVarySearchHeader )` **This function is deprecated.** Deprecated in Java |
| `https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder` | `@https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch [setJavaScriptEnabled](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#setJavaScriptEnabled(boolean))(javaScriptEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` **This function is deprecated.** Deprecated in Java |
| `https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder` | `@https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch [setVariationsId](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#setVariationsId(java.lang.Integer))(variationsId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html?)` **This function is deprecated.** Deprecated in Java |

## Public constructors

### Builder

Added in [1.13.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.13.0) Deprecated in [1.17.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.17.0)

```
[Builder](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#Builder())()
```

> [!CAUTION]
> **This function is deprecated.**   
> Deprecated in Java

## Public functions

### addAdditionalHeader

Added in [1.13.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.13.0) Deprecated in [1.17.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.17.0)

```
@Profile.ExperimentalUrlPrefetch
fun [addAdditionalHeader](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#addAdditionalHeader(java.lang.String,java.lang.String))(key: String, value: String): SpeculativeLoadingParameters.Builder
```

> [!CAUTION]
> **This function is deprecated.**   
> Deprecated in Java

Sets the header value for the given key. If called multiple times for the same key, the latest value will be used.

Header keys must be RFC 2616-compliant.

The logic for handling additional header isn't guaranteed to match the `https://developer.android.com/reference/android/webkit/WebView.html#loadUrl(java.lang.String, java.util.Map&lt;java.lang.String,java.lang.String&gt;)`'s logic and is subject to change in the future.

### addAdditionalHeaders

Added in [1.13.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.13.0) Deprecated in [1.17.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.17.0)

```
@Profile.ExperimentalUrlPrefetch
fun [addAdditionalHeaders](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#addAdditionalHeaders(java.util.Map<java.lang.String,java.lang.String>))(additionalHeaders: (Mutable)Map<String!, String!>): SpeculativeLoadingParameters.Builder
```

> [!CAUTION]
> **This function is deprecated.**   
> Deprecated in Java

Sets multiple headers at once. The headers passed in here will be merged with any that have been previously set (duplicate keys will be overridden).

Header keys must be RFC 2616-compliant.

### build

Added in [1.13.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.13.0) Deprecated in [1.17.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.17.0)

```
@RequiresFeature(name = WebViewFeature.PROFILE_URL_PREFETCH, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported")
@Profile.ExperimentalUrlPrefetch
fun [build](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#build())(): SpeculativeLoadingParameters
```

> [!CAUTION]
> **This function is deprecated.**   
> Deprecated in Java

Use to finish building the PrefetchParams

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters` | built PrefetchParams object. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/UnsupportedOperationException.html` | if the `https://developer.android.com/reference/kotlin/androidx/webkit/WebViewFeature#PROFILE_URL_PREFETCH()` feature is not supported. This should be checked before use with `https://developer.android.com/reference/kotlin/androidx/webkit/WebViewFeature#isFeatureSupported(java.lang.String)`. |

### setExpectedNoVarySearchData

Added in [1.13.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.13.0) Deprecated in [1.17.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.17.0)

```
@Profile.ExperimentalUrlPrefetch
fun [setExpectedNoVarySearchData](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#setExpectedNoVarySearchData(androidx.webkit.NoVarySearchHeader))(
    expectedNoVarySearchHeader: NoVarySearchHeader
): SpeculativeLoadingParameters.Builder
```

> [!CAUTION]
> **This function is deprecated.**   
> Deprecated in Java

Sets the "No-Vary-Search data that's expected to be returned via. the header in the prefetch's response. This is used to help determine if WebView#loadUrl should either use an in-flight prefetch response to render the web contents or handle the URL as it typically does (i.e. start a network request).

### setJavaScriptEnabled

Added in [1.13.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.13.0) Deprecated in [1.17.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.17.0)

```
@Profile.ExperimentalUrlPrefetch
fun [setJavaScriptEnabled](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#setJavaScriptEnabled(boolean))(javaScriptEnabled: Boolean): SpeculativeLoadingParameters.Builder
```

> [!CAUTION]
> **This function is deprecated.**   
> Deprecated in Java

`true` if the WebView's that will be loading the prefetched response will have javascript enabled. This affects whether or not client hints header is sent with the prefetch request.

Note: This flag is ignored for prefetches initiated by the prerendering API. The value from `https://developer.android.com/reference/android/webkit/WebSettings.html#getJavaScriptEnabled()` will be used instead.

### setVariationsId

Added in [1.16.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.16.0) Deprecated in [1.17.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.17.0)

```
@Profile.ExperimentalUrlPrefetch
fun [setVariationsId](https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder#setVariationsId(java.lang.Integer))(variationsId: Int?): SpeculativeLoadingParameters.Builder
```

> [!CAUTION]
> **This function is deprecated.**   
> Deprecated in Java

Sets an optional variations ID to associate with this prefetch request.

| Parameters |
|---|---|
| `variationsId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html?` | An Integer ID for this prefetch configuration, or `null` if no specific variations ID is applicable. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webkit/SpeculativeLoadingParameters.Builder` | This builder instance for chaining. |